Postgres集群:用户“postgres”的密码验证失败

时间:2015-08-28 18:09:22

标签: postgresql postgresql-9.3 multiple-instances change-password

在我的Postgres服务器中使用命令pg_createcluster在端口5433上侦听创建了一个集群。要设置用户postgres的密码,我按照以下步骤操作:

  1. 编辑文件nano /etc/postgresql/9.3//pg_hba.conf
  2. 更改行

    主持所有127.0.0.1/32 md5

    按行

    托管所有127.0.0.1/32信任

    1. 使用以下命令更改密码
    2. sudo -u postgres psql -h localhost -p 5433

      postgres =#\ password postgres

      输入新密码:

      再次输入:

      postgres =#\ q

      1. 编辑文件nano /etc/postgresql/9.3//pg_hba.conf
      2. 更改行

        托管所有127.0.0.1/32信任

        按行

        主持所有127.0.0.1/32 md5

        显示没有错误但连接控制台和pgadmin3都会触发错误:用户“postgres”的密码验证失败。在默认情况下(实际)在实例中使用相同的过程,我可以成功连接。

        我感谢任何帮助,因为我没有找到与Postgres实例一起使用的文档。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

首先,您需要重新加载配置,因此可以应用所有更改。连接端口可能无法打开,除此之外您还没有明确共享local连接的配置。这应该可以正常工作:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

答案 1 :(得分:0)

感谢您的回复。我在pg_hba.conf中有你的回复配置:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

更改密码:

# nano /etc/postgresql/9.3/<instance_name>/pg_hba.conf
# /etc/init.d/postgresql restart
# su - postgres
$ psql -U postgres -p 5433 -h localhost
Password for user postgres:

身份验证服务器提示我输入psql。以下配置允许我输入不带密码的psql:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

更改密码:

# nano /etc/postgresql/9.3/<instance_name>/pg_hba.conf
# /etc/init.d/postgresql restart
# su - postgres
$ psql -U postgres -p 5433 -h localhost
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
$ exit
# nano /etc/postgresql/9.3/<instance_name>/pg_hba.conf
# /etc/init.d/postgresql restart

更改设置并再次输入psql:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5


# su - postgres
$ psql -U postgres -p 5433 -h localhost
Password for user postgres:
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"