登录到PostgreSQL - 登录失败

24

我在Ubuntu11.10上安装了psql和phpPgAdmin,但不知道如何运行它。默认的用户名和密码是什么?

3个回答

52

如果没有创建过用户名和密码,就不存在默认的用户名和密码。最简单的设置方法是按照以下步骤设置你自己的用户并将其设置为超级用户。

在终端提示符处,使用自己的用户名创建一个postgres用户。

sudo -u postgres createuser --superuser $USER

以root身份运行postgresql命令提示符,但用户名应该是您的用户名,因为您还没有设置密码;

sudo -u postgres psql

在postgresql提示符下设置您的密码;

\password $USER

接下来,您应该能够成功登录。

这个设置有更详细的文档在这里

编辑:

如果您无法自动验证postgres用户身份,则可以将您的/etc/postgresql/9.1/main/pg_hba.conf(即身份验证配置文件)与以下可正常工作的行进行比较;您可以使用以下未被注释的行:

grep -v ^# pg_hba.conf

在这种情况下,“local”行应该是关键的,因为您甚至无法从同一台机器进行身份验证;

local   all             postgres                                peer
local   all             all                                     peer
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

1
$sudo -u postgres createuser --superuser $USER 密码: createuser:无法连接到数据库postgres:FATAL:用户“postgres”的密码身份验证失败。 - Ivan Z. Horvat
@IvanZ.Horvat 非常奇怪,在Ubuntu中,Postgresql默认配置为对来自同一台机器的任何连接使用“ident sameuser”身份验证,这意味着一旦您作为该用户登录操作系统,就不必使用密码。我刚刚验证了我的Ubuntu 11.10,可以在全新安装上像这样登录。 - Joachim Isaksson
@IvanZ.Horvat 我在我的回答中添加了有关hba.conf(身份验证配置文件)的一些信息。 - Joachim Isaksson
我遇到了以下问题:sudo: unknown user: postgres。我使用Postgres.app安装了OS X上的Postgres。 - Olivier Lalonde

4

4
在安装过程中,您可能会错过一些步骤:
现在我们需要重置服务器上“postgres”管理帐户的密码,以便我们可以将其用于所有系统管理任务。在命令行中键入以下内容(替换为您想要用于管理员帐户的密码):
sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'password';
template1=# \q

这会修改数据库中的密码,现在我们需要为Unix用户“postgres”执行相同操作:
sudo passwd -d postgres
sudo su postgres -c passwd

现在输入之前使用的相同密码。 http://hocuspokus.net/2008/05/install-postgresql-on-ubuntu-804/

ivan@ivan-Inspiron-N5110:~$ sudo su postgres -c psql template1 ivan的密码: 密码: - Ivan Z. Horvat
psql:致命错误:用户“postgres”的密码验证失败。 - Ivan Z. Horvat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接