我正在使用mac OS X 10.5.8。我安装了PostgreSQL 9.1(使用mac dmg驱动程序)以使用python构建数据库(使用sqlalchemy和psycopg2)。
当我第一次尝试通过sqlalchemy连接到PostgreSQL时,我找不到用户名:密码组合,这将允许我创建引擎并连接。我尝试使用postgres作为超级用户登录(据说不需要密码),但这不起作用。如果我尝试使用SQL shell进行连接(即使我选择postgres作为用户也需要输入密码),或者使用su postgres在命令行上进行连接,我会遇到同样的问题。
在Google上搜索类似的问题,似乎这与pg_hba.conf文件有关,但我无法找到它。有人指出,在mac上它应该在Library / PostgreSQL / 9.1 / data文件夹中,但是我没有权限访问这个文件夹。在命令行中键入locate pg_hba.conf不会返回任何内容。如果我理解正确(并且我确定我没有,因为我以前从未使用过数据库服务器而且我不是UNIX专家),服务器不会将我识别为管理员或超级用户。
我是否有一些非常明显的事情我不知道初始化PostgreSQL(我在文档中搜索了“入门”和安装后的配置,但没有找到任何明显与此问题相关的内容)?这可能是安装PostgreSQL的问题吗?我可能要在我的环境中改变一些东西吗?
答案 0 :(得分:1)
您需要切换到系统帐户postgres。通常这是使用su - postgres
完成的。如果这不起作用 - 我无法帮助,因为它看起来像操作系统级问题。
当您使用postgres系统帐户时,您可以编辑pg_hba.conf,通常,您只需使用普通psql
即可连接到没有密码的pg。
在某些系统上,人们使用su
而不是sudo
,在这种情况下,您可以尝试使用sudo su - postgres
。