设置PostgreSQL用户的密码不起作用

时间:2015-03-19 10:35:43

标签: postgresql

我被卡住了。

任务:我需要某个Postgres用户拥有预定义密码的某个数据库。基本上,我不想为Django项目维护单独的开发设置,除了我们项目回购中的那些设置。

先决条件: Ubuntu上的PostgreSQL 9.1,数据库'项目'拥有所有者'项目'。 '项目'用户似乎也是超级用户,并且应该有密码' project'。当然有假名,只是因为NDA。 注意:我可以登录' postgres'用户,这就是我现在如何使用数据库。

问题:我尝试了一些方法,其中很明显可以在Stackoverflow或Google上找到,为这个用户设置密码,但仍然有密码验证失败'消息(见下文)。

我尝试过的事情:

  • 通过PgAdmin设置密码
  • 通过ALTER ROLE project WITH PASSWORD 'project'
  • 设置密码
  • 更改了pg_hba.conf中的设置,尝试了local all project peerlocal all project md5

也许我错过了一些简单明了的事情,请告诉我。

谢谢!

更新

以下是登录角色窗格中此用户的屏幕截图 - Login roles pane

2 个答案:

答案 0 :(得分:1)

请参阅屏幕截图底部的部分:

  

.. VALID UNTIL'1970-01-01 00:00:00:

上方的“帐户过期”字段

该到期日期错误,并解释了此帐户无法登录的原因。

据推测,你被这里提到的pgAdmin错误所困扰:

Postgres password authentication fails

TL; DR解决方案:ALTER USER username VALID UNTIL 'infinity';

(当然更新pgAdmin)。

答案 1 :(得分:0)

您的角色中是否设置了LOGIN属性? CREATE ROLE默认情况下不设置此属性。请参阅:http://www.postgresql.org/docs/9.1/static/role-attributes.html