2013-03-26 110 views
2

雖然accesing Postgres數據庫我得到一個錯誤說,讓PostgreSQL數據庫

FATAL: Peer authentication failed for user "myuser" 

解決這個錯誤,我需要改變數據庫所有者像

ALTER DATABASE dbname OWNER TO 'all'; 

一切都不是用戶在我的系統中,但我想讓這個數據庫可供系統中的所有用戶使用。

我相信有辦法做這樣的事情。誰能幫我!

回答

2

您需要read the Client Authentication section of the manual,特別是討論pg_hba.conf的部分。 PostgreSQL的手冊和教程非常全面,值得一讀。

Stack Overflow,superuser.com,serverfault.com和dba.stackexchange.com上有很多問題,涵蓋了pg_hba.conf,所以我不會重複已有的豐富內容。

非常短的版本:

  • 使用md5認證;和
  • CREATE USER您希望能夠登錄的所有用戶或讓他們都以共享身份登錄。

閱讀認證和安全手冊章節,以避免今後痛苦和問題。

0

等驗證意味着,PostgreSQL將只允許OS用戶,admin,連接作爲admin,或OS用戶myuser連接到PostgreSQL作爲myuser

這是因爲它有這樣的

local all all peer 

pg_hba.conf文件中的條目如果您使用此

local all all trust 

替換它,然後在該主機將PostgreSQL數據庫相同的操作系統的所有用戶能夠自由連接。

1

在你的文件系統使用

locate pg_hba.conf 

然後找到你的Postgres的版本發現pg_hba.conf文件。

編輯使用

sudo nano /etc/postgresql/9.1/main/pg_hba.conf 

文件如果你有下面這行:

local all all  peer 

然後將其更改爲:

local all all  md5 

我相信它會工作!