授予对 Postgres 中所有表的访问权限

pre*_*thi 4 postgresql

如何将 Postgres 数据库中所有模式的所有表权限授予用户/角色?

以下命令仅授予特定模式而不是整个数据库。

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

例如,

数据库:测试模式:schema1,schema2 测试表内:schema1.table1,schema1.table2,schema2.table1,schema2.table2

如何向数据库内所有模式中找到的所有表提供所有表权限。

Raj*_*rma 7

您必须拥有特定的架构。另请参阅 GRANT 的更多用法。此外,授予对象类型可用的所有权限。PRIVILEGES 关键字在 PostgreSQL 中是可选的,但严格的 SQL 要求它。

因此,您基本上可以将 all 用于所有表所属的特定模式。

所以

grant all on all tables in schema "schema_name" to user 
Run Code Online (Sandbox Code Playgroud)

应该为您执行此操作,但您需要指定架构名称。

请参阅此了解更多信息: 链接