gpt4 book ai didi

postgresql - 用于 Postgres 身份验证的 ident 与 md5

转载 作者:行者123 更新时间:2023-11-29 11:27:37 26 4
gpt4 key购买 nike

我在 CentOS 上设置了一个 Postgres 数据库服务器并创建了一个数据库,mydb

我以系统用户 postgres 访问 psql 并检查它是否存在:

$ sudo -u postgres -i
$ psql
postgres=# \l

Name | Owner | ...
--------------------
mydb | postgres | ...

然后我配置它:

(1) listen_addresses = 'localhost'postgresql.conf 中取消注释。

(2) 我为用户 postgres 设置了密码。

sudo -u postgres psql template1
ALTER USER postgres with encrypted password 'my_password';

但是,通过 psql -U postgres -h localhost 和 Pgadm3 的连接失败并出现此错误:

Ident autentication failed for user "postgres"

我检查了/var/lib/pgsql/9.4/data/pg_hba.conf

ident 是本地 IPv6IPv4 连接的默认方法。

我将其从 ident 更改为 md5

然后,通过 Pgadmi3 和 psql 的连接按预期工作

为什么 ident 会失败?

最佳答案

失败是因为:

The ident authentication method works by obtaining the client's operating system user name from an ident server and using it as the allowed database user name (with an optional user name mapping). This is only supported on TCP/IP connections.

ident 应该表示 UNIX 标识。为了ident 工作,您必须由postgres 用户(CentOS 上的默认Postgres 进程所有者)运行psqlPGAdmin .因此,请确保您制作了 sudo su - postgressudo - postgres(并且它如您所示那样工作)。

md5其实就是md5哈希密码识别。对我个人而言,这是最简单的方法。

我确定在您的示例中一切正常:-)

关于postgresql - 用于 Postgres 身份验证的 ident 与 md5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27976516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com