问题描述
我有一个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特权在架构上免费使用...
我不知道该如何解决。