メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

PG_DEFAULT_ACL

デフォルトのアクセス権限に関する情報を格納します。デフォルトのアクセス権限の詳細については、「ALTER DEFAULT PRIVILEGES」参照してください。

PG_DEFAULT_ACL はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
defacluser integer リストされている権限が適用されるユーザーの ID。
defaclnamespace oid デフォルト権限が適用されるスキーマのオブジェクト ID。スキーマが指定されていない場合、デフォルト値は 0 です。
defaclobjtype 文字

デフォルト権限が適用されるオブジェクトの型。有効な値は次のとおりです。

  • r—リレーション (テーブルまたはビュー)

  • f—関数

defaclacl aclitem[]

指定されたユーザーまたはユーザーグループとオブジェクト型のデフォルト権限を定義する文字列。

権限がユーザーに付与される場合、文字列は次のようになります。

{ username=privilegestring/grantor }

username

権限が付与されるユーザーの名前。username を省略すると、権限は PUBLIC に付与されます。

権限がユーザーグループに付与される場合、文字列は次のようになります。

{ "group groupname=privilegestring/grantor" }

privilegestring

どの権限を付与するかを指定する文字列。

有効な値は次のとおりです。

  • r—SELECT (読み取り)

  • a—INSERT (付加)

  • w—UPDATE (書き込み)

  • d—DELETE

  • x—外部キー制限 ( REFERENCES) を作成する権限を付与します。

  • X—EXECUTE

  • *—権限を付与されるユーザーが、他のユーザーにも同じ権限を付与できる (WITH GRANT OPTION) ことを示します。

grantor

権限を付与したユーザーの名前。

次の例は、ユーザー admin が WITH GRANT OPTION を含むすべての権限をユーザー dbuser に付与したことを示します。

Copy to clipboard
dbuser=r*a*w*d*x*X*/admin

次のクエリはデータベースに対して定義されているすべてのデフォルト権限を返します。

Copy to clipboard
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

前の例の結果は、ユーザー admintickit スキーマで作成するすべての新しいテーブルにおいて、adminuser1 には SELECT 権限を、group1 には INSERT 権限を、user2 には UPDATE 権限を付与することを示します。

このページの内容: