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

pg Admin 4 - password for "postgres" user when trying to connect to PostgreSQL 13 server

我知道其他时候也有人问过这个问题,但我没有找到解决这个问题的方法!

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

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

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

FATAL: password authentication failed for user "postgres"

我也尝试过不插入任何密码,结果出现错误:

fe_sendauth: no password supplied

我不知道该怎么办。在 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 添加或删除程序卸载 PostgreSQL,删除 C:\Program Files\PostgreSQL 和 re-install 下的所有内容。这次,系统应该会提示您输入用户 postgres 的密码,并在 pgAdmin4 中使用相同的密码。

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

How to unistall PostgreSQL

How to install correctly PostgreSQL

在我通过终端更改密码 postgres user/role 之后(pgAdmin 4 web postgres user/role 是不同的和不同的服务):

# 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

我 运行 最近遇到了同样的问题。下面的解决方案对我有用。我正在使用 Windows 顺便说一句,所以你应该在你的 OS.

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

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

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

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

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

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

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

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

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

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

以防你记得主密码。默认用户名是 postgres

只需键入您输入的启动 PC 的密码(user/admin 密码)。

找到一个简单的步骤。

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

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

这对我每次设置都有效。

  1. sudo -u postgres -i

  2. psql

  3. \password postgres

之后,输入密码两次。

然后在 pgAdmin4 中使用该密码。

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

电脑之后我也遇到过re-start。 PostgreSQL 不是 运行,我不得不手动启动它。完成后,我只需按回车键(无密码)。

这对我有用。 将 pg_hba.conf 文件中所有行的方法从 scram-sha-256 更改为 trust (C:\Program Files\PostgreSQL\data\pg_hba.conf)。这将禁用您的数据库的密码。 单击 postgresql 中的任何数据库以使用查询工具。

在查询工具中输入 ALTER USER postgres WITH PASSWORD 'User_password'; postgres 是默认用户名,执行它。 这样你就可以为你的数据库设置一个密码,然后回到第一步并将它从 trust 改回 scram-sha-256.

要禁用主密码,请执行以下操作:

找到“Config.py”文件。它通常位于“C:\Program Files\PostgreSQL\pgadmin 4\web”或“C:\Program Files (X86)\pgAdmin4\v4\web” 在此目录中创建一个名为“Config_local.py”的新文件并添加行 MASTER_PASSWORD_REQUIRED=False。如果“Config_local.py”已经存在,编辑它,并在文件底部添加该行。保存文件。 关闭 PGAdmin4 并重新打开它。您现在应该可以在没有主密码的情况下访问 PGAdmin。

https://community.progress.com/s/article/pgadmin-4-ask-for-master-password