0

我创建了一个intranet数据库,然后退出并离开我的电脑几个小时。现在我回来了,我想为该数据库创建一个用户。我尝试登录数据库来创建新用户,但它不让我进入。

# psql intranet postgres -W
Password for user postgres:
psql: FATAL:  Peer authentication failed for user "postgres"

数据库用户“postgres”是否与 SSH 共享相同的密码?我更改了 SSH 用户密码,但没有更改 PostgreSQL。

更新

通过输入我的 IDE 使用的相同密码,我已验证我为此用户使用了正确的密码。

4

2 回答 2

0

您已使用“peer”身份验证设置您的服务器,这意味着它希望您以“postgres”shell 用户身份登录。这意味着您需要这样做:

sudo su - postgres

psql内网

如果你想对“postgres”用户使用密码认证,那么你应该修改 pg_hba.conf 文件来设置认证。

更多信息:http ://www.postgresql.org/docs/current/static/client-authentication.html

于 2013-05-02T03:21:37.550 回答
0

我能够通过重置用户的 PostgreSQL 密码postgres然后使用该用户创建特定于数据库的用户来解决此问题。

 # su postgres
postgres@ProdSQL:~/data> psql
psql (9.1.9)
Type "help" for help.

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'ssV!mp8';
ALTER ROLE
postgres=# \q
postgres@ProdSQL:~/data> psql intranet postgres -W
Password for user postgres:
psql (9.1.9)
Type "help" for help.

intranet=# CREATE USER intranet LOGIN PASSWORD '********';
CREATE ROLE
intranet=#
于 2013-05-02T11:45:16.523 回答