我在我的postgresql數據庫中有一個pgrouting數據庫。所有者是用戶,但是當我嘗試使用psql -U用戶pgrouting認證失敗
psql -U user pgrouting
錯誤連接發生
psql: FATAL: Peer authentication failed for user "user"
如何解決這個問題?
我在我的postgresql數據庫中有一個pgrouting數據庫。所有者是用戶,但是當我嘗試使用psql -U用戶pgrouting認證失敗
psql -U user pgrouting
錯誤連接發生
psql: FATAL: Peer authentication failed for user "user"
如何解決這個問題?
首先,你似乎誤解了「同行認證」的本質。我引用the manual here:
的對等身份驗證方法的工作原理是從內核獲取客戶端的 操作系統的用戶名,並用它作爲允許 數據庫的用戶名。
系統用戶的名稱必須與db用戶的名稱相匹配。對於此驗證方法,您不提供帶有-U
參數的用戶名。雖然你是,事實上,身份登錄相應的系統用戶,只需問題:
psql pgrouting
有了這樣的端口更多的連接選項,如果他們從默認值不同。
接下來,您不應該使用user
作爲實際的用戶名。這在每個SQL標準和Postgres中都是reserved word。每個人都很困惑。
如果你想允許使用密碼登錄,您必須添加一個條目,以您的pg_hba.conf
文件允許password
or md5
(preferably) authentication method - 和重裝。
與sudo合作謝謝你... – smk
你配置了你的pg_hba.conf文件嗎? [Postgres基於主機的身份驗證](http://www.postgresql.org/docs/8.2/static/auth-pg-hba-conf.html) –
不,我該怎麼做? – smk
http://www.postgresql.org/docs/8.2/static/auth-pg-hba-conf.html –