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
文件中所有行的METHOD
从scram-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 服务器
连接到 Redshift 集群时出错 - Npgsql.PostgresException: 28000: no pg_hba.conf entry for host