PostgreSQL在Mac OSX Lion下。 错误的用户通行证?

我完全无助,也许你们可以帮我一把。 我在新的MacOSX Lion下安装了PostgreSQL。 当我尝试连接到我的本地主机与pgAdminIII.app它说:

Error connecting to the database: FATAL password authentication failed for user postgres 

我只是不知道该怎么办? 非我的密码工作。 既不是我的pipe理员也不是“postgres”,也不是别的。

我试图通过控制台再次安装它,我发现这个有用的链接: http : //www.peerassembly.com/2011/08/…resql-on-lion/然而,问题是,当我试图运行createuser -a -d _postgres再次出现相同的密码问题。 我似乎无法find解决办法。 总是输错密码。

顺便说一句。 安装postgres后,我的机器上有一个名为“PostgreSQL”的新用户。

有任何想法吗? 我很困难,我真的需要做这个工作。

最简单的解决scheme是告诉postgres让你进入。find你的pg_hba.conf。 这个文件的位置取决于你如何安装它,但它在你的postgresql安装的数据目录中。 在terminal中执行以下命令让计算机为您find它。

sudo find / -name pg_hba.conf

(sudo是需要的,因为它可能在一个你不能作为普通用户访问的文件夹中)

在这个文件中有很多评论来解释它是如何工作的。 您想要的是将本地和/或127.0.0.1连接的身份validation方法设置为信任。 当你完成这个postgresql将不再validation你的密码(以为pgAdmin仍然倾向于要求它只是input一些东西)。 当您在pgadmin中时,您可以更改密码。 然后你把pg_hba.conf中的方法改回md5来确保安全。

你是如何安装PostgreSQL的? 就我个人而言,我发现一键安装非常简单。

编辑:对评论的回应

PostgreSQl有自己的内部用户名列表。 这些名字与OSX用户名没有任何关系。 OSX用户名PostgreSQL用于运行postgresql的postmaster进程,并对系统进行有限的访问。 postgres是一键安装程序创build的数据库超级用户名。

服务器不听信息有点奇怪,因为密码validation只发生在连接build立后,所以我希望你早点得到这个错误。 也许你改变了什么? 无论如何,我怀疑从pgAdmin正在尝试连接到解决:: 1(ipv6地址)的本地主机的错误消息,但AFAIK postgresql只侦听与单击安装程序的ipv4。 当你右击pgAdmin中的Postgresql条目并select属性时,可以更改pgAdmin连接的主机。 将其更改为127.0.0.1,然后重试。

 set pg_hba.conf 

其中pg_hba.conf位于$PG_DATA 。 例如,我的是/Source/local/pgsql91/data

 host all postgres 127.0.01/32 trust 

然后

 /usr/pgsql-9.1/bin/psql -U postgres -d postgres -h 127.0.0.1 

否则(没有-h )psql反弹你到你的networkingip( ifconfig )例如我192.168.0.1这是md5和psql默认情况下是明确的。