我正在 Ubuntu 11.10 中学习用户PostgreSQL
和Django
一起使用,我发现我需要切换到我"postgres"
在终端(通过"sudo su postgres"
)中安装 PostgreSQL()时创建的用户,以便创建然后访问数据库以在 Django 中使用. 不幸的是,"postgres"
用户在我的本地文件系统上没有文件写入权限,所以当我尝试执行某些操作时,例如将模型对象添加到具有图像字段的数据库中,我被阻止了。但是,如果我在终端中切换到我的普通 Ubuntu 用户名并尝试访问我在 Django 开发服务器上的管理站点,我会收到如下错误:
OperationalError at /admin/
FATAL: Peer authentication failed for user "postgres"
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Django Version: 1.3.1
Exception Type: OperationalError
Exception Value:
FATAL: Peer authentication failed for user "postgres"
Exception Location: /usr/local/lib/python2.7/dist-packages/django/db/backends/postgresql_psycopg2/base.py in _cursor, line 140
Python Executable: /usr/bin/python
Python Version: 2.7.2
我正在尝试阅读 PostgreSQL 文档,以使我的普通用户可以访问我为 Django 项目创建的数据库,但我无法弄清楚,因为我不了解 PostgreSQL 角色/用户之间的关系和 Ubuntu 用户。有人可以向我解释一下如何让我的普通 Ubuntu 用户名访问我在 PostgreSQL 中的数据库吗?我可能需要一个特定的指令列表,因为我试图使用 PostgreSQL 文档将它拼凑在一起,但我完全迷失了。