2013-05-01 41 views
0

我創建了一個intranet數據庫,然後註銷並離開我的電腦幾個小時。現在我回來了,我想爲該數據庫創建一個用戶。我試圖登錄到數據庫中創建新的用戶,它不是讓我進去。無法登錄到新創建的數據庫

# psql intranet postgres -W 
Password for user postgres: 
psql: FATAL: Peer authentication failed for user "postgres" 

該數據庫是否將用戶「Postgres的」共享相同的密碼SSH?我更改了SSH用戶密碼,但不是PostgreSQL。

更新

我已經驗證了我使用該用戶的正確的密碼在我的IDE中使用相同的密碼輸入。

+0

正常情況下,postgres密碼與OS密碼不同。但是,您可以配置postgres以使用不同的密碼方案,例如LDAP。這可以根據每個數據庫或每個IP範圍進行配置。看到你的pg_hba.conf。 – wildplasser 2013-05-01 19:39:52

+0

這工作對我來說:http://stackoverflow.com/questions/13921380/how-do-i-reset-the-postgresql-9-2-default-user-usually-postgres-password-on – Webnet 2013-05-01 19:43:37

回答

0

我能夠通過重新對postgres用戶PostgreSQL的密碼,然後使用該用戶創建一個特定的數據庫用戶來解決此問題。

# su postgres 
[email protected]:~/data> psql 
psql (9.1.9) 
Type "help" for help. 

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'ssV!mp8'; 
ALTER ROLE 
postgres=# \q 
[email protected]:~/data> psql intranet postgres -W 
Password for user postgres: 
psql (9.1.9) 
Type "help" for help. 

intranet=# CREATE USER intranet LOGIN PASSWORD '********'; 
CREATE ROLE 
intranet=# 
0

您已經使用「peer」身份驗證設置了您的服務器,這意味着它期望您以「postgres」shell用戶身份登錄。這意味着你需要這樣做:

須藤蘇 - Postgres的

psql的內部網

如果你想使用密碼認證爲「Postgres的」用戶,那麼你應該修改pg_hba.conf文件來設置驗證。

這裏更多:http://www.postgresql.org/docs/current/static/client-authentication.html