Postgresql

在 postgres 中創建一個新的只讀使用者

  • February 17, 2016

我想postgresql在 Ubuntu 機器上的現有數據庫中創建一個新使用者。我想授予該使用者對所有表的只讀訪問權限。

我該怎麼做?我也需要在 Ubuntu 上創建一個新使用者嗎?

謝謝,

烏迪

參考來自這篇文章!

創建只讀使用者的腳本:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

為該只讀使用者分配權限:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;

無需在作業系統中創建新使用者。只需發出:

創建使用者新使用者名

在 psql(或 pgadmin,或您喜歡的任何工具)中,您將擁有一個新使用者。該使用者的訪問權限取決於您的表的設置。但預設情況下,它對任何表都沒有權限,因此您必須授予此權限。如果您已經授予公共組的權限,則使用者從一開始就擁有這些權限。

引用自:https://serverfault.com/questions/60500