本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PG_DEFAULT_ACL
儲存預設存取權限的相關資訊。如需預設存取權限的相關資訊,請參閱 ALTER DEFAULT PRIVILEGES。
所有使用者都可看見 PG_DEFAULT_ACL。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性。
資料表欄
欄名稱 | 資料類型 | 描述 |
---|---|---|
defacluser | integer | 將所列權限套用至其中的使用者 ID。 |
defaclnamespace | oid | 將預設權限所套用至其中的結構描述物件 ID。如果未指定任何結構描述,預設值會是 0。 |
defaclobjtype | character |
將預設權限所套用至其中的物件類型。有效值如下:
|
defaclacl | aclitem[] |
定義指定使用者或使用者群組的預設權限和物件類型的字串。 如果將此權限授予另一個使用者,字串格式如下:
username 將權限授予至其中的使用者名稱。如果省略使用者名稱,則會將 權限授予 PUBLIC。 如果將此權限授予另一個使用者群組,字串格式如下:
privilegestring 指定授予哪一個權限的字串。 有效的 值如下:
grantor 授予權限的使用者名稱。 下列範例指出使用者
|
範例
下列查詢會傳回為資料庫定義之所有預設權限。
select pg_get_userbyid(d.defacluser) as user, n.nspname as schema, case d.defaclobjtype when 'r' then 'tables' when 'f' then 'functions' end as object_type, array_to_string(d.defaclacl, ' + ') as default_privileges from pg_catalog.pg_default_acl d left join pg_catalog.pg_namespace n on n.oid = d.defaclnamespace; user | schema | object_type | default_privileges -------+--------+-------------+------------------------------------------------------- admin | tickit | tables | user1=r/admin + "group group1=a/admin" + user2=w/admin
上述範例中的結果顯示,對於使用者在tickit
結構描述admin
中建立的所有新資料表, 會將SELECT權限admin
授予 user1
、 INSERT 權限授予 group1
,以及 UPDATE權限授予 user2
。