3 回答
TA贡献1934条经验 获得超2个赞
从命令行连接到postgres时,不要忘记添加-h localhost为命令行参数。如果没有,postgres将尝试使用PEER身份验证模式进行连接。
下面显示了密码的重置,通过PEER身份验证失败的登录以及使用TCP连接的成功登录。
# sudo -u postgres psql
could not change directory to "/root"
psql (9.1.11)
Type "help" for help.
postgres=# \password
Enter new password:
Enter it again:
postgres=# \q
失败:
# psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
使用-h localhost:
# psql -U postgres -W -h localhost
Password for user postgres:
psql (9.1.11)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
postgres=#
TA贡献1804条经验 获得超7个赞
自给出这些答案以来,pg_hba.conf(C:\Program Files\PostgreSQL\9.3\data)文件已更改。什么工作对我来说,在Windows中,是打开文件并更改METHOD从md5到trust:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
然后,使用pgAdmin III,我不使用密码登录,并通过以下方式更改了用户postgres'密码:File -> Change Password
添加回答
举报