在postgres上授予新模式的特权

问题描述

我有一个Postgres 9.6.11。创建新架构时,我想授予角色名称“ select_role”特权,并赋予其“使用”特权。 我的第一件事是使用认特权,但是架构没有认特权。 第二件事是使用触发器,但是我不能将其用于系统目录。

任何人都可以知道如何执行此操作吗?我对Postgres没有太多经验。 如果有人可以帮我写这篇文章,我将非常感激。

解决方法

确保您可以在架构上设置默认权限:

ALTER DEFAULT PRIVILEGES FOR ROLE laurenz GRANT USAGE ON SCHEMAS TO select_role;

现在,每当用户laurenz创建架构时,select_role都将在该架构上被授予USAGE

,

感谢您的帮助。 几个小时前我正在运行

ALTER DEFAULT PRIVILEGES FOR ROLE select_user GRANT USAGE ON SCHEMAS TO select_role ;

结果我得到了这个错误。

错误:“ SCHEMAS”处或附近的语法错误

第1行:...为角色select_user提供LT特权在架构上免费使用...

我不知道该如何解决。