我已经在 Ubuntu Server 13.10 上安装了 PostgreSQL 9.1 和 pgadmin3。
我配置了 postgresql.conf : listen_addresses = '*'
我还通过更改对等连接来配置 ph_hba.conf md5
另外,我通过以下方式重置了 postgres 的密码: sudo password postgres
然后用 sudo /etc/init.d/postgresql restart
之后,我尝试连接到默认的 PostgreSQL 模板数据库:
sudo -u postgres psql template1
Run Code Online (Sandbox Code Playgroud)
但登录失败并显示此错误消息:
psql: FATAL: password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)
然后我尝试从 pgadmin 登录,这给了我同样的错误。
我在这里读到这可能是密码到期日期错误 PostgreSQL 用户在更改密码后无法连接到服务器
但我无法解决它,因为我无法使用 psql 登录。现在有人如何解决这个问题?
编辑
ph_hba 文件:
截屏:
Cra*_*ger 78
您将 unix 用户“postgres”的密码与数据库用户“postgres”的数据库密码混淆了。这些是不一样的。
您已将自己锁定,因为您md5
在postgres
未为数据库用户设置密码的情况下为数据库用户启用了身份验证postgres
。
在 的顶部添加一个新行pg_hba.conf
:
local postgres postgres peer
Run Code Online (Sandbox Code Playgroud)
然后重新启动/重新加载 PostgreSQL 并:
sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)
从结果提示:
ALTER USER postgres PASSWORD 'my_postgres_password';
Run Code Online (Sandbox Code Playgroud)
然后删除您添加到的行pg_hba.conf
并再次重新启动 Pg。您现在可以使用上面设置的密码以postgres
用户身份连接到 PostgreSQL 。
要了解更多信息,请阅读用户手册的“客户身份验证”一章,并在文档pg_hba.conf
。
归档时间: |
|
查看次数: |
257200 次 |
最近记录: |