使用一个语句对所有序列的GRANT SELECT权限

mar*_*kus 19 sql postgresql

如何使用一个语句将所有序列的SELECT权限授予用户?像这样的东西:

GRANT SELECT ON <ALL SEQUENCES???> TO myUser
Run Code Online (Sandbox Code Playgroud)

Mik*_*ll' 43

在PostgreSQL 9.x中,您可以将一个模式中的所有序列的权限授予角色.该语法

GRANT SELECT
ON ALL SEQUENCES IN SCHEMA schema_name
    TO role_name
Run Code Online (Sandbox Code Playgroud)

角色可以是组角色或登录角色(用户名).


小智 19

这对将来非常有用:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO your_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA schema_name TO your_user;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA schema_name TO your_user;
Run Code Online (Sandbox Code Playgroud)


Die*_*rós 8

接受的答案对我来说不适用于9.1.以下句子确实有效:

GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO user;
Run Code Online (Sandbox Code Playgroud)

  • 如果你想实际修改序列,你需要`SELECT,USAGE` (4认同)