我已经安装了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"

当前回答

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

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

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

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

$ sudo passwd postgres

其他回答

对于那些第一次使用它,不知道密码是什么的人,他们可以遵循以下步骤(假设你是ubuntu):

3 .打开/etc/postgresql/9.x/main目录下的pg_hba.conf文件 Sudo vi pg_hba.conf .conf 2.编辑下面的行 本地所有postgres peer 来 本地所有postgres信任 重新启动服务器 Sudo服务postgresql重启 最后,您可以登录,无需密码,如图所示

更多信息请参考这里

我也遇到过类似的问题。 Ubuntu让我用超级用户的任何密码登录控制台。 除了我在psql行命令中连接-h localhost。

我还观察到“localhost:8080/MyJSPSiteLogIn”-显示:致命:用户“user”的autentication错误。

Pg_hba.conf是ok的。

我注意到在同一个服务中运行了两个版本的postgres。

解决-卸载inutil版本。

我在Windows 10上也遇到了同样的错误。在我的例子中,当我设置Postgres时,我的用户名默认是Postgres。 但是当我运行命令psql时,它显示我的用户名为jitender,这是我的机器名,我不知道为什么这个用户名已经设置。

为了解决这个问题,我做了以下步骤: 执行命令psql——help

在输出中,寻找Connection Option,在这里您将看到默认用户,在我的示例中为jitender。 您还将获得设置另一个用户名的命令,该命令应该是psql——username postgres。你可以设置你需要的用户名,问题就解决了。

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

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

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

那就试试

psql postgres

它应该会起作用。

给出的答案几乎是正确的,只是缺少一些指针,我会在我的解决方案中照顾

首先确保你的用户有sudo访问权限,如果没有,你可以使用下面的命令添加你的用户作为sudo用户

sudo adduser <username> sudo

更改将在用户下次登录时生效。

i)现在转到sudo vim /etc/postgresql/<your_postgres_version>/main/pg_hba.conf文件,寻找这样的行:

local   all             postgres                                md5 #peer

评论一下。就在这一行下面,必须有一个注释行,说:

local   all             postgres                                peer

或者对于旧版本,它将是:-

local   all         postgres                          ident

取消这一行的注释。

ii)现在重新启动postgres使用任何这些命令:-

sudo /etc/init.d/postgresql restart

OR

sudo service postgresql restart

iii)现在您可以使用以下命令简单地登录到postgres:

sudo -u postgres psql

Iv)一旦你在你可以创建任何你想要的操作,在我的情况下,我想创建一个新的数据库,你可以使用下面的命令做同样的事情:

CREATE DATABASE airflow_replica;