在 PostgreSQL 中,是否可以仅授予特定用户或组对一个模式的编辑权限?

Is it possible in PostgreSQL to give a specific user or group on edit rights only to one schema?

在 PostgreSQL 中是否可以只授予特定用户或组对一个模式的编辑权限? 我需要用户只更改架构中的对象。类似于超级用户权限,但仅适用于一种架构。

感谢提前

您情况下的最佳设置可能如下。

让我们假设架构和其中的对象归 object_owner 所有,并且应该具有“超级用户”权限的用户称为 wannabe

那么你可以这样做:

ALTER ROLE wannabe NOINHERIT;
GRANT object_owner TO wannabe;

这允许 wannabe 由 运行

变成 object_owner
SET ROLE object_owner;

类似于在 UNIX 中使用 su。使用RESET ROLE再次下台。