2014-03-04 28 views
1

任何人都可以告訴我如何授予用戶(用戶名:restricted_user)只有postgresql上的SELECT和UPDATE特權?我正在運行centos。Postgres授予對用戶的SELECT&UPDATE特權僅

目前用戶不能選擇任何東西。我已經登錄到phpPgMyAdmin,我似乎只能授予每個表的SELECT和UPDATE權限,但是我希望將此規則應用於所有數據庫中的所有表。

感謝

+3

您可以通過閱讀文檔開始... http://www.postgresql.org/docs/9.0/static/sql-grant.html –

回答

2

您可以授予在一次在一個模式中的所有表:

​​

如果有serial列或使用其他序列,你也需要:

GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO restricted_user; 

運行每個相關的模式。 More in the fine manual for GRANT. 您還需要爲USAGE特權在每個模式:

GRANT USAGE ON SCHEMA public TO restricted_user; 

如果您有其他用戶創造更多的對象,你可能要授予默認未來對象相同的權限了。這就是DEFAULT PRIVILEGES進來:

ALTER DEFAULT PRIVILEGES FOR creating_user IN SCHEMA public 
GRANT SELECT, UPDATE ON TABLES TO restricted_user; 

ALTER DEFAULT PRIVILEGES FOR creating_user IN SCHEMA public 
GRANT USAGE ON SEQUENCES TO restricted_user;