【问题标题】:Postgres Grant SELECT & UPDATE privilege ONLY to a userPostgres 仅向用户授予 SELECT 和 UPDATE 权限
【发布时间】:2014-03-04 18:44:20
【问题描述】:

谁能告诉我如何授予用户(用户名:restricted_user)在 postgresql 上只有 SELECT 和 UPDATE 权限?我正在运行centos。

目前用户无法选择任何内容。我已经登录到 phpPgMyAdmin,我似乎只能为有效的用户授予每个表的 SELECT 和 UPDATE 权限,但我想将此规则应用于所有数据库中的所有表。

谢谢

【问题讨论】:

标签: database postgresql database-schema privileges


【解决方案1】:

您可以一次授予架构中的所有表:

GRANT SELECT, UPDATE ON ALL TABLES IN SCHEMA public TO restricted_user;

如果有serial列或其他SEQUENCES在使用,还需要:

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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 2015-12-07
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多