# PG_DEFAULT_ACL
PG_DEFAULT_ACL系统表存储为新建对象设置的初始权限。
表1PG_DEFAULT_ACL字段 
| 名称              | 类型          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| defaclrole      | oid         | 与此权限相关的角色ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| defaclnamespace | oid         | 与此权限相关的命名空间，如果没有，则为0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| defaclobjtype   | "char"      | 此权限的对象类型。 - r表示表或视图。  - S表示序列。  - f表示函数。  - T表示类型。   |
| defaclacl       | aclitem\[\] | 创建该类型时所拥有的访问权限。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
#### 应用示例
查看新建用户role1的初始权限：
```
select * from PG_DEFAULT_ACL;
 defaclrole | defaclnamespace | defaclobjtype |    defaclacl
------------+-----------------+---------------+-----------------
      16820 |           16822 | r             | {role1=r/user1}
```
也可使用如下语句进行转换后更直观的查看：
```
SELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Granter",  n.nspname AS "Schema",  CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' END AS "Type",  pg_catalog.array_to_string(d.defaclacl, E', ') AS "Access privileges" FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespace ORDER BY 1, 2, 3;
```
输出结果如下，表示通过用户user1授予用户role1对模式"user1"有读的权限。
```
Granter | Schema | Type  | Access privileges
---------+--------+-------+-------------------
 user1   | user1  | table | role1=r/user1
(1 row)
```
