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)

Time: 2.724 ms
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()" 的评论、建议或更正 此处