12

我知道这个问题已经在其他时候被问过了,但我没有找到解决这个问题的方法!

我用 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 用户并重新下载并重新安装所有内容......没有任何改变。


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

4

11 回答 11

21

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

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

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

于 2020-10-10T04:43:09.477 回答
5

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

  1. sudo su postgres
  2. psql
  3. \password postgres
  4. 输入您的密码两次

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

于 2021-01-26T18:52:15.143 回答
2

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

于 2021-06-02T01:29:09.283 回答
1

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

如何卸载 PostgreSQL

如何正确安装 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
于 2020-10-10T03:48:07.583 回答
1

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

  1. 编辑C:\Program Files\PostgreSQL\13\data\pg_hba.conf并将“METHOD”列值设置为信任(安全漏洞,仅用于测试目的)
  2. 以管理员身份打开 Powershell,转到C:\Program Files\PostgreSQL\13\bin
  3. 键入pg_ctl reload,按 Enter。
  4. 再次启动pgAdmin
于 2021-03-16T13:05:51.977 回答
0

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

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

于 2020-10-05T14:12:08.720 回答
0

编辑位于数据文件夹中的 pg_hba.conf。在底部,它开始的地方: local all all scram-sha-256 change all instances of "scram-sha-256" to "trust", like... local all all tr​​ust 保存文件,你应该可以得到就在。

于 2020-11-01T05:26:58.537 回答
0

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

然后再次运行安装,它工作。要求输入新密码。

以防您记住主密码。默认用户名是 postgres在此处输入图像描述

于 2021-03-31T16:11:40.570 回答
0

找到了一个简单的步骤。

  1. 将文件# IPv4 local connections中行的METHOD 从更改为.pg_hba.confscram-sha-256trust
  2. Host name/address将“连接”选项卡中的“127.0.0.1服务器”更改为“” PostgreSQL 13(14)
  3. 连接到 Server-PostgreSQL 13(14)和 input empty string

现在您应该能够使用用户名登录postgresLogin/Group role为您的特定数据库创建。

于 2021-10-24T01:36:15.200 回答
0

安装 pgadmin4 后我遇到了同样的问题,因为我可以使用主密码,但不接受 postgres 密码。在花了几个小时尝试同步 postgresql 和 pgadmin 以识别 postgres 密码后,我终于删除/删除了 pgadmin4 中标识的服务器,并使用与原始主机名相同的主机名创建了一个新服务器。postgres 数据库立即被识别。我创建了其他数据库,分配了用户并退出了。当我重新打开 pgadmin4 时,主密码和 postgres 都被接受了,我能够完成我的工作。希望这可以帮助其他人在一些时间和恶化。

于 2022-01-07T19:30:47.510 回答
-1

这对我每次设置时都有效。

  1. sudo -u postgres -i

  2. psql

  3. \password postgres

之后,输入您的密码两次。

然后在 pgAdmin4 中使用该密码。

于 2021-12-25T18:37:57.973 回答