我已经安装了PostgreSQL 8.4, Postgres客户端和Pgadmin 3。控制台客户端和Pgadmin用户“postgres”身份验证失败。我已经输入用户作为“postgres”和密码“postgres”,因为它以前工作过。但是现在身份验证失败。我以前做过几次都没有这个问题。我该怎么办?发生了什么?

psql -U postgres -h localhost -W
Password for user postgres: 
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

当前回答

请记住,如果你安装了两个版本的Postgres,你需要卸载其中一个,在我的情况下,在MacOS上,我通过。dmg安装了一个版本,另一个通过brew安装。

对我来说有用的是使用以下步骤卸载通过.dmg安装的程序

进入/Library/PostgreSQL/13。 uninstall-postgres.app开放。

那就试试

psql postgres

它应该会起作用。

其他回答

答案是@diego

我想补充一些关于我如何修复错误的解释,我希望它能帮助到其他人: postgres用户密码验证失败

在窗口


确保你下载Postgres软件,安装它,创建和确认密码 并确保它不复杂的一些符号和字符。 打开窗口,单击SQL Shell (PSQL),进入并创建数据库 创建连接字符串,如 postgres: / / postgres: your_password@localhost:港口/ your_database

在WSL


遵循微软文档

安装成功后

 // Open postgres
 su postgres
 
 // Type psql and hit enter
 psql

 // Create a user postgres if not exist or any other user you want 
 CREATE USER your_user_db WITH PASSWORD 'match_password_with_db_password';
 

 // Give user password same as the one you set up for postgres db
 ALTER USER your_user_db WITH PASSWORD 'match_password_with_db_password';

 // Restart the server
 sudo service postgresql restart

工作人员的反应是正确的,但如果你想进一步自动化可以做:

$ sudo -u postgres psql -c “ALTER USER postgres PASSWORD 'postgres' ;”

完成了!您保存了User = postgres和password = postgres。

如果你没有postgres ubuntu用户的密码,请:

$ sudo passwd postgres

以下是我尝试登录的一些组合:

# login via user foo
psql -Ufoo -h localhost

sudo -u postgres psql postgres

# user foo login to postgres db
psql -Ufoo -h localhost -d postgres

请记住,如果你安装了两个版本的Postgres,你需要卸载其中一个,在我的情况下,在MacOS上,我通过。dmg安装了一个版本,另一个通过brew安装。

对我来说有用的是使用以下步骤卸载通过.dmg安装的程序

进入/Library/PostgreSQL/13。 uninstall-postgres.app开放。

那就试试

psql postgres

它应该会起作用。

当你安装postgresql时,没有为postgres用户设置密码,你必须在Unix上使用命令显式地设置它:

sudo passwd postgres

它会询问您的sudo密码,然后提示您输入新的postgres用户密码。 源