雖然accesing Postgres數據庫我得到一個錯誤說,讓PostgreSQL數據庫
FATAL: Peer authentication failed for user "myuser"
解決這個錯誤,我需要改變數據庫所有者像
ALTER DATABASE dbname OWNER TO 'all';
一切都不是用戶在我的系統中,但我想讓這個數據庫可供系統中的所有用戶使用。
我相信有辦法做這樣的事情。誰能幫我!
雖然accesing Postgres數據庫我得到一個錯誤說,讓PostgreSQL數據庫
FATAL: Peer authentication failed for user "myuser"
解決這個錯誤,我需要改變數據庫所有者像
ALTER DATABASE dbname OWNER TO 'all';
一切都不是用戶在我的系統中,但我想讓這個數據庫可供系統中的所有用戶使用。
我相信有辦法做這樣的事情。誰能幫我!
您需要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
您希望能夠登錄的所有用戶或讓他們都以共享身份登錄。請閱讀認證和安全手冊章節,以避免今後痛苦和問題。
等驗證意味着,PostgreSQL將只允許OS用戶,admin
,連接作爲admin
,或OS用戶myuser
連接到PostgreSQL作爲myuser
。
這是因爲它有這樣的
local all all peer
在pg_hba.conf
文件中的條目如果您使用此
local all all trust
替換它,然後在該主機將PostgreSQL數據庫相同的操作系統的所有用戶能夠自由連接。
在你的文件系統使用
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
我相信它會工作!