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

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

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

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

当我在数据库中创建基本 Django 框架时,遇到了一些麻烦。如果我输入

sudo -u django_login python manage.py syncdb

但当我不使用时它不起作用sudo -u django_login。但是,我的帐户是 postgres 中的超级管理员,并且我创建了一个系统帐户 django_login,我的帐户是该组的一部分。

我错过了什么?

答案1

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

答案2

让 django 登录 Postgresql 数据库的更简单方法是使用密码。打开 pg_hba.conf 文件 (/etc/postgresql/8.4/main/pg_hba.conf)。将以下行

local   all   all   ident

local   all   all   md5

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

答案3

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

相关内容