2015-03-19 308 views
1

我被卡住了。爲PostgreSQL用戶設置密碼不起作用

任務:我需要有一定的Postgres用戶擁有與預定義的密碼某些數據庫。基本上,我只是不想爲Django項目保留單獨的開發設置,除了項目回購中的項目。

先決條件: Ubuntu上的PostgreSQL 9.1,擁有所有者「項目」的數據庫「項目」。 '項目'用戶似乎也是超級用戶,並且應該有密碼'項目'。當然,也有假名稱,只是因爲NDA。 注意:我可以用'postgres'用戶登錄,這就是我現在使用數據庫的方式。

問題:我嘗試了一套辦法,主要是明顯的,可以在這裏找到#2或谷歌,以密碼爲這個用戶,但仍然有「密碼驗證失敗」的消息(見下文) 。

我已經試過什麼:

  • 通過pgAdmin的
  • 設置密碼通過ALTER ROLE project WITH PASSWORD 'project'
  • pg_hba.conf改變設置設置密碼,試圖local all project peerlocal all project md5

也許我錯過了一些簡單的東西,請讓我知道。

謝謝!

UPDATE:

下面是從登錄的角色該用戶截圖窗格 - Login roles pane

+0

您可以從pgAdmin SQL窗格中,從登錄角色>項目(當然,您可以更改機密數據)發佈信息。 – 2015-03-19 10:44:58

+0

你調整了那些配置文件後重置了postgres嗎?否則密碼更改將不起作用。 sudo服務postgresql restart – brunch875 2015-03-19 10:46:19

+0

你得到的錯誤信息是什麼? – 2015-03-19 10:48:30

回答

1

見那一部分在你的屏幕截圖的底部:

..有效期至「1970-01-01 00:00:00:

或「帳戶過期「以上字段

到期日期錯誤,並解釋了此帳戶無法登錄的原因。

想必你已經被這裏所提到的pgAdmin的迷上:

Postgres password authentication fails

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

(當然更新的pgAdmin)。

+0

謝謝,就是這樣!它現在有效。 – 2015-03-19 13:10:32