makeaclitem()

用于构造 aclitem 的函数

makeaclitem() 是一个系统函数,用于构造具有指定属性的 aclitem

makeaclitem()PostgreSQL 7.4 中添加。

用法

makeaclitem ( oid, oid, text, boolean ) → aclitem

参数如下:

  • oid: 权限的被授予者
  • oid: 权限的授予者
  • text: 要授予的权限或权限列表(用逗号分隔)
  • boolean: 该权限是否可由被授予者授予

makeaclitem() 最初是作为 information_schema 实现的一部分创建的,但在 PostgreSQL 9.0 中(提交 36f887c4)从其中移除,并被 aclexplode() 取代,PostgreSQL 本身不再使用它。

变更历史

示例

makeaclitem() 的基本用法示例

postgres=# SELECT makeaclitem('foo'::regrole, 'postgres'::regrole, 'SELECT', false);
  makeaclitem   
----------------
 foo=r/postgres
(1 row)

postgres=# SELECT makeaclitem('foo'::regrole, 'postgres'::regrole, 'SELECT', true);
   makeaclitem   
-----------------
 foo=r*/postgres
(1 row)

指定多个权限

postgres=# SELECT makeaclitem('foo'::regrole, 'postgres'::regrole, 'SELECT,UPDATE, DELETE', false);
   makeaclitem    
------------------
 foo=rwd/postgres
(1 row)

尝试指定无效权限

postgres=# SELECT makeaclitem('foo'::regrole, 'postgres'::regrole, 'DISMANTLE', true);
ERROR:  unrecognized privilege type: "DISMANTLE"

分类

系统函数, 用户和角色

另请参阅

aclexplode(), acldefault()

反馈

在此处提交任何关于“makeaclitem()”的评论、建议或更正 这里