pg Admin 4 - 尝试连接到 PostgreSQL 13 服务器时“postgres”用户的密码

Posted

技术标签:

【中文标题】pg Admin 4 - 尝试连接到 PostgreSQL 13 服务器时“postgres”用户的密码【英文标题】:pg Admin 4 - password for "postgres" user when trying to connect to PostgreSQL 13 server 【发布时间】:2021-01-19 17:07:19 【问题描述】:

我知道这个问题已经有人问过,但是我没有找到解决这个问题的方法!

我使用 pg Admin 4 下载了 PostgreSQL 13,当我在安装后第一次打开它时,它会询问我在安装过程中被要求设置的主密码,在我提供主密码并被接受后,我尝试连接到安装期间创建的默认服务器:“PostgreSQL 13”。

此时,它要求我输入用户“postgres”的密码,但我不知道在哪里可以找到。具体来说,它说:请输入用户“postgres”连接服务器的密码-“PostgreSQL 13”。

我已经尝试了在互联网上找到的所有“默认”密码,但错误总是一样:

致命:用户“postgres”的密码验证失败

我也尝试过不插入任何密码并导致错误:

fe_sendauth:未提供密码

我不知道该怎么办。在 PostgreSQL 13 中,身份验证方法通过scram-sha-256 加密。我已经尝试将方法设置为信任,重新启动 mac,然后打开不断询问我访问服务器的密码的 pg Admin 4。

我也尝试使用命令行工具,但最终遇到了同样的错误。

最后,这就是我的pg_hba.conf 的样子:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

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

PS。我还尝试卸载 PostgreSQL 13,删除 postgres 用户并重新下载并重新安装所有内容......没有任何改变。


如果有人可以帮助我,我会成为我的救星,在此先感谢!

【问题讨论】:

我假设这是 Windows 安装。使用主密码,也是postgres用户的密码。 您好,我遇到了完全相同的问题,您找到解决方案了吗? 【参考方案1】:

找到一个简单的步骤。

    pg_hba.conf 文件中# IPv4 local connections 行的方法从scram-sha-256 更改为trust。 将“连接”选项卡中的Host name/address更改为服务器的“127.0.0.1”-PostgreSQL 13(14)。 连接服务器-PostgreSQL 13(14),输入empty string

现在您应该可以使用用户名postgres 登录并为您的特定数据库创建Login/Group role

【讨论】:

【参考方案2】:

只需输入您输入的密码即可启动您的 PC(用户/管理员密码)。

【讨论】:

【参考方案3】:

如果您是第一次这样做,请删除程序文件和程序文件64中的所有PostgreSQL现有文件夹。

然后再次运行安装,它成功了。要求输入新密码。

如果您记得主密码。默认用户名为 postgres

【讨论】:

【参考方案4】:

对我有用的方法(Windows 10 x64、PostgreSQL 13):

    编辑 C:\Program Files\PostgreSQL\13\data\pg_hba.conf 并将“METHOD”列值设置为 trust(安全漏洞,仅用于测试目的) 以管理员身份打开 Powershell,转到 C:\Program Files\PostgreSQL\13\bin 输入pg_ctl reload,回车。 再次启动 pgAdmin

【讨论】:

【参考方案5】:

仅供参考:我在运行 postgresql-13.1 的 ubuntu-20.04 上遇到了同样的问题。要使用此配置解决它,我必须在终端中运行以下命令:

    sudo su postgres psql \password postgres 输入密码两次

之后,我可以像往常一样通过pgAdmin4登录,提供设置的密码。

【讨论】:

【参考方案6】:

编辑位于数据文件夹中的 pg_hba.conf。 在底部,它开始的地方: 本地所有所有 scram-sha-256 将“scram-sha-256”的所有实例更改为“信任”,例如... 本地所有人都信任 保存文件,您应该可以直接进入。

【讨论】:

【参考方案7】:

我最近遇到了同样的问题。下面的解决方案对我有用。顺便说一句,我使用的是 Windows,所以你应该在你的操作系统中尝试等效的命令。

    pg_hba.conf 文件中所有行的METHODscram-sha-256 更改为trust 将 Postgres 安装的 bin 文件夹添加到路径中,如果您还没有的话 打开命令提示符并输入psql -U postgres。此处不会要求您输入密码。 输入\password postgres 选择并确认您的密码 将pg_hba.conf 恢复为原始状态

现在您应该可以在 pgAdmin 中输入 postgres 的密码了。

【讨论】:

这是哪个版本的? psql -U postgres 仍在步骤 3 中询问密码。 我使用的是 PostgreSQL 13。您是否忘记在步骤 1 中保存 conf 文件?还可以尝试使用 Notepad++ 进行编辑并以管理员身份运行命令提示符,看看它是否会有所作为。如果没有任何帮助,请尝试下载新的安装程序,因为它现在会在安装过程中提供密码提示。 非常感谢哥们,这个问题我也受够了!【参考方案8】:

就我而言,我在 CentOS 8 上错误地安装了 PostgreSQL 10 和 13,所以我按照 PostgreSQL 网站的说明卸载了 PostgreSQL 并安装了 PostgreSQL 13,没有其他网站。

How to unistall PostgreSQL

How to install correctly PostgreSQL

在我通过终端更改密码 postgres 用户/角色后(pgAdmin 4 web postgres 用户/角色是不同的和不同的服务):

# sudo -i -u postgres
[postgres@server ~$] psql
postgres=# ALTER USER postgres PASSWORD 'postgres';
ALTER ROLE
postgres=# /q
[postgres@server ~$] exit
# sudo systemctl restart postgresql-13

【讨论】:

【参考方案9】:

安装程序是否在安装时提示您输入密码?

如果没有,请使用 Windows 添加或删除程序卸载 PostgreSQL,删除 C:\Program Files\PostgreSQL 下的所有内容并重新安装。这一次,应该提示您输入用户 postgres 的密码,并在 pgAdmin4 中使用相同的密码。

【讨论】:

以上是关于pg Admin 4 - 尝试连接到 PostgreSQL 13 服务器时“postgres”用户的密码的主要内容,如果未能解决你的问题,请参考以下文章

如何连接到谷歌计算引擎上的远程 PostgreSQL 服务器?

PG :: ConnectionBad:无法连接到服务器:连接被拒绝

无法使用pg_connect将php连接到postgres数据库

致命:主机“::1”没有 pg_hba.conf 条目试图通过 ssh 隧道连接到 postgresql 服务器

从 Delphi 7 连接到 PostgreSQL 时出错

连接到 Redshift 集群时出错 - Npgsql.PostgresException: 28000: no pg_hba.conf entry for host