gpt4 book ai didi

postgresql - psql : error: could not connect to server: FATAL: Peer authentication failed for user "postgres"

转载 作者:行者123 更新时间:2023-12-02 19:49:07 25 4
gpt4 key购买 nike

我使用此处的命令安装并设置了 postgresql-12 [ https://www.postgresql.org/download/linux/redhat/]

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql12
yum install postgresql12-server
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12

然后我尝试登录数据库

psql postgres postgres

我得到了错误

psql: error: could not connect to server: FATAL:  Peer authentication failed for user "postgres"

我的系统上有两个 pg_hba.conf 文件。我检查了身份验证设置,如下所示,按照此处的建议 [psql: FATAL: Ident authentication failed for user "postgres"

/data/pg_data_dir/pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all all 0.0.0.0/0 md5

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

/var/lib/pgsql/12/data/pg_hba.conf

# 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
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

身份验证设置看起来不错,所以我不确定从这里开始做什么。

最佳答案

编辑 - 使其更加结构化和可用。

首先,您需要了解每种身份验证方法的含义,here 中有大量信息对这个。长话短说,在这个阶段,您可能会感兴趣的是 md5,它是一个散列密码,或者 trust,它不是密码。

在你的机器上安装 postgres 后,你需要成为 postgres 用户然后尝试 psql

~# su -l postgres --assume you're postgres
~$ psql --connect

psql (xx.x ))
Type "help" for help.

postgres=#

进入后,您可以为该用户设置新密码:

postgres=# \password postgres

为防止这种情况发生,您需要询问 postgres hba 文件在哪里:

postgres=# SHOW hba_file;

使用您最喜欢的文本编辑器并对其进行修改以满足您的需求。

另外你需要确保你重新加载了postgresql服务,命令是:

sudo systemctl reload postgresql-12.service

关于postgresql - psql : error: could not connect to server: FATAL: Peer authentication failed for user "postgres",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58615425/

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