2015-02-24 47 views
2

我最近創建了一個測試數據庫,但我希望它可以被所有用戶訪問。PostgreSQL公開訪問數據庫

我創建的數據庫用戶postgres然後使用命令

GRANT ALL ON DATABASE dbname TO public; 

但是,當我退出,並嘗試使用不同的用戶我得到這個錯誤

psql -d dbname 
psql: FATAL: role "username" does not exist 

我不連接到它我不想爲每個訪問數據庫的人創建一個用戶,這是我想公開的原因。有沒有我仍然失蹤的許可?

回答

4

儘管可以訪問所有人(public),但您連接的用戶必須存在。 psql的默認值是系統帳戶的用戶名。當然,你可以的,創建一個密碼的用戶anonymous每個人都可以用它來連接:

psql -U anonymous dbname 
+0

或等值'PSQL DBNAME anonymous',+1 – Andomar 2015-02-24 10:21:14

+0

不在於打敗授予數據庫公共接入點,如果您必須成爲用戶才能連接到它,它並不是真正公開的 – Trent 2015-02-24 10:21:32

+1

在此上下文中的公有意思是「DBMS知道的每個用戶」 – ckruse 2015-02-24 10:30:53