如何让python / django访问postgres db而不需要sudo -u

在Linux / django / python / postgres安装中仍然是新的。

我安装了最新的kubuntu 11.04,安装了postgres和django软件包。 我已经在postgres中创build了一个django_login和一个数据库django_db,供django使用。

当我在数据库中创build基本django框架的时候,我有一些麻烦。 如果我键入,它工作正常

sudo -u django_login python manage.py syncdb

但是当我不使用sudo -u django_login时,它不起作用。 不过,我的帐户是在postgres superadmin,我创build了一个系统帐户django_login和我的帐户是这个组的一部分。

我错过了什么?

您错过了您在PostgreSQL中创build的帐户以供系统帐户( ident )使用。 如果您希望帐户通过PostgreSQL客户端库使用用户名和密码,则需要使用其他身份validation方法之一 。

让djangologin到Postgresql数据库的更简单的方法是使用密码。 打开你的pg_hba.conf文件(/etc/postgresql/8.4/main/pg_hba.conf)。 改变线

 local all all ident 

 local all all md5 

现在Postgresql会让django使用用户名和密码login,而不需要Unix内置的ident系统。

尝试在settings.py文件中指定127.0.0.1作为数据库主机。 这样django使用不同的authentication方法。