启动 psql 时身份验证失败

启动 psql 时身份验证失败

安装 postgres 后,我尝试在 VPS 上启动 psql,但身份验证失败

~$ psql
Password: 
psql: FATAL:  password authentication failed for user "michael"

我回到安装说明,它让我以这种方式设置密码

sudo -u postgres psql template1
ALTER USER postgres with encrypted password 'your_password';

我再次尝试这样做但无法登录:

 sudo -u postgres psql template1
Password: 
psql: FATAL:  password authentication failed for user "postgres"

我想我要么忘记了密码,要么更有可能的是,这一步做错了。说明告诉我,在 sudo nano /etc/postgresql/9.1/main/pg_hba.conf 中,更改

local all postgres

local all postgres md5

因此,在下面的代码中,我将两个实例都替换peermd5

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer

现在我被锁定了,有什么方法可以恢复或更改我的密码吗?

更新

尝试登录时,无论我使用用户 postgres 还是 michael,身份验证都会失败

 sudo -u michael psql template
Password: 
psql: FATAL:  password authentication failed for user "michael"

答案1

在启用 MD5 密码验证之前,您是否实际为这些数据库帐户设置了密码?

如果你没有设置密码(或者你设置了但是不记得了),你可以通过将身份验证类型设置trustpg_hba.conf,以 Postgres 超级用户帐户登录,然后使用ALTER USER命令。

相关内容