我已經安裝了PostgreSQL 8.4,Postgres客戶端和Pgadmin3。控制檯客戶端和Pgadmin的用戶「 postgres」的身份驗證失敗。 我已經輸入了用戶「 postgres」和密碼「 postgres」,由於它之前能夠工做。 可是如今身份驗證失敗。 我以前幾回都沒有出現此問題。 我該怎麼辦? 那會發生什麼呢? sql
psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres"
工做人員的回答是正確的,可是若是您想進一步自動化,能夠這樣作: shell
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
數據庫
作完了! 您保存了用戶= postgres和密碼= postgres。 ubuntu
若是您沒有User postgres ubuntu的密碼,請執行如下操做: centos
$ sudo passwd postgres
服務器
若是您嘗試以postgres用戶身份登陸postgres shell,則可使用如下命令。 ide
切換到postgres用戶 post
# su - postgres
登陸到psql spa
# psql
但願能有所幫助 rest
使人沮喪的是,以上大多數答案都是正確的,可是它們沒有說起您必須從新啓動數據庫服務才能使pg_hba.conf文件中的更改生效。
所以,若是您如上所述進行更改:
local all postgres ident
而後以root身份從新啓動 (在centos上相似service service postgresql-9.2 restart),如今您應該可以以用戶postgres的身份訪問數據庫
$psql psql (9.2.4) Type "help" for help. postgres=#
但願這能夠爲新的postgres用戶添加信息
編輯pg_hba.conf文件,例如,使用sudo emacs /etc/postgresql/9.3/main/pg_hba.conf
將全部身份驗證方法更改成trust
。 更改「 postgres」用戶的Unix密碼。 從新啓動服務器。 使用psql -h localhost -U postgres
登陸,並使用剛剛設置的Unix密碼。 若是可行,您能夠將pg_hba.conf文件從新設置爲默認值。
我只是想補充一點,您還應該檢查密碼是否已過時。
有關詳細信息,請參見Postgres密碼驗證失敗 。