更新时间:2024-11-12 GMT+08:00
分享

aclitem类型

aclitem数据类型用于存储对象权限信息。其内部实现是int类型,支持的格式为‘user1=privs/user2’。

aclitem[]数据类型为aclitem组成的数组,支持的格式为‘{user1=privs1/user3user2=privs2/user3}’。

其中user1、user2和user3为数据库中已存在的用户/角色名,privs为数据库中支持的权限(具体请参见表2)。

示例:

--创建相应用户。
gaussdb=# CREATE USER user1 WITH PASSWORD '***********';
gaussdb=# CREATE USER user2 WITH PASSWORD '***********';
gaussdb=# CREATE USER omm WITH PASSWORD '***********';

--新建一张数据表table_acl,有三个字段,类型分别为int、aclitem、aclitem[]。
gaussdb=# CREATE TABLE table_acl (id int,priv aclitem,privs aclitem[]);

--向数据表table_acl插入一条内容为(1,'user1=arw/omm','{omm=d/user2,omm=w/omm}')的数据。
gaussdb=# INSERT INTO table_acl VALUES (1,'user1=arw/omm','{omm=d/user2,omm=w/omm}');

--向数据表table_acl再插入一条内容为(2,'user1=aw/omm','{omm=d/user2}')的数据。
gaussdb=# INSERT INTO table_acl VALUES (2,'user1=aw/omm','{omm=d/user2}');
gaussdb=# SELECT * FROM  table_acl;
 id |     priv      |          privs
----+---------------+-------------------------
  1 | user1=arw/omm | {omm=d/user2,omm=w/omm}
  2 | user1=aw/omm  | {omm=d/user2}
(2 rows)

--删除表和用户。
gaussdb=# DROP USER user1;
gaussdb=# DROP USER user2;
gaussdb=# DROP USER omm;
gaussdb=# DROP TABLE table_acl;

相关文档