Joh*_*ohn 2 database postgresql privileges database-schema
谁能告诉我如何在 postgresql 上授予用户(用户名:restricted_user)仅具有 SELECT AND UPDATE 权限?我运行的是centos。
目前用户无法选择任何内容。我已经登录到 phpPgMyAdmin,我似乎只能为有效的用户授予每个表的 SELECT 和 UPDATE 权限,但我想将此规则应用于所有数据库中的所有表。
谢谢
您可以一次授予模式中的所有表:
GRANT SELECT, UPDATE ON ALL TABLES IN SCHEMA public TO restricted_user;
Run Code Online (Sandbox Code Playgroud)
如果正在serial使用列或其他序列,您还需要:
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO restricted_user;
Run Code Online (Sandbox Code Playgroud)
为每个相关模式运行。更多内容请参见 的精美手册GRANT。
您还需要USAGE每个模式的权限:
GRANT USAGE ON SCHEMA public TO restricted_user;
Run Code Online (Sandbox Code Playgroud)
如果您有另一个用户创建更多对象,您可能也希望默认情况下为未来的对象授予相同的权限。这就是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;
Run Code Online (Sandbox Code Playgroud)