2013-11-04 74 views
2

我想利用我的putty.i的Windows PC connnect到PostgreSQL 9.1數據庫的遠程Ubuntu 12.04服務器已經創建的用戶輸入密碼,當我運行命令PSQL:FATAL:密碼驗證失敗,用戶

PSQL -U opentaps -d opentaps (opentaps是我爲數據庫opentaps創建的用戶) 我得到下面的mesaage。 psql:FATAL:密碼認證失敗,用戶「opentaps」 我試過psql -U opentaps -d opentaps -h本地主機 ,但在我提供密碼後仍然是相同的消息。 我的opentaps用戶密碼是正確的。即使當我嘗試 psql -U postgres -d postgres我也得到了同樣的失敗信息。

我做pg_hba.conf中的一些變化,它看起來像這樣

https://docs.google.com/document/d/13ymGYj9e7YPFiaffwixLzsWJygp_OfBmgBi4Axgrg5A/edit?usp=sharing

也postgresql.conf中我通過uncomenting 的listen_addresses =所做的更改「*」 我知道我失去了一些東西在這裏,需要您的幫助以瞭解我需要更改哪些內容才能連接到服務器。

感謝您的幫助

+0

它看起來不像'pg_hba.conf'或'listen_addresses'問題。假設確定它是正確的密碼,我將使用'select usename,pg_user'中的valuntil來檢查它的有效性。如果你根本無法連接,暫時用pg_hba.conf中的'trust'替換'md5'來繞過密碼。 –

+0

是的,我確實改變了在pg_hba.conf中的信任md5,並重新啓動postgresql和voila這次它連接。感謝您的幫助。 – user753152

回答

1

確保您登錄的用戶opentaps當你在命令行啓動psql

你也應該填寫.pgpass文件用正確的信息,格式如下:

hostname:port:database:username:password 

如果沒有.pgpass文件被創建,你應該創建一個。比照參考PostgreSQL的docs

解決此
+0

由於'-U opentaps'被顯式傳遞,所以登錄的用戶名不相關。如果手動輸入的密碼被拒絕,它將同樣從.pgpass文件中被拒絕。 –

+0

丹尼爾你是正確的。我確實根據文檔創建了這個文件.pgpass,但它沒有幫助我仍然得到了同樣的失敗信息。 – user753152

4

一個黑客是編輯的pg_hba.conf

sudo vi /etc/postgresql/9.3/main/pg_hba.conf 

要暫時

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

然後去

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

再回去設置pg_hba .conf回到

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