column_privileges

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 30章情報スキーマ | 早送り | 次のページ

# 30.7. `column_privileges`

`column_privileges`ビューは、現在のユーザに対し、または、現在のユーザによって、列に与えられた権限を全て識別します。 列と許可投与者、許可受領者の組み合わせ毎に1行があります。 グループに与えられた権限は`role_column_grants`ビューで識別されます。

PostgreSQLでは、個々の列ではなくテーブル全体にのみ権限を与えることができます。 従って、このビューには、`table_privileges`と同じ情報が含まれ、単に、各適切なテーブル内の全ての列を1行で表現します。 しかし、`SELECT`、`INSERT`、`UPDATE`、`REFERENCES`といった列単位で設定可能な種類の権限のみを対象範囲とします。 将来起き得る開発に合うようにアプリケーションを作成したいのであれば、これらの権限の種類のいずれかを対象とする場合に、`table_privileges`ではなくこのビューを使用することが一般的に正しい方法です。

表 30-5. `column_privileges` の列

名前 | データ型 | 説明
--- | --- | ---
`grantor` | `sql_identifier` | 権限を与えたユーザの名前です。
`grantee` | `sql_identifier` | 権限を与えられたユーザもしくはグループの名前です。
`table_catalog` | `sql_identifier` | その列を含むテーブルを持つデータベースの名前です。(常に現在のデータベースです。)
`table_schema` | `sql_identifier` | その列を含むテーブルを持つスキーマの名前です。
`table_name` | `sql_identifier` | その列を含むテーブルの名前です。
`column_name` | `sql_identifier` | 列の名前です。
`privilege_type` | `character_data` | 権限の種類です。 `SELECT`、`INSERT`、`UPDATE`、もしくは `REFERENCES` です。
`is_grantable` | `character_data` | この権限を付与可能な場合は`YES`、さもなくば`NO`です。

`grantee`列では、ユーザとグループの区別を行わないことに注意してください。 同じ名前のユーザとグループが存在する場合、残念ながら、これらを区別できません。 今後のPostgreSQLのバージョンでは、同じ名前を持つユーザとグループを禁止する可能性があります。

前のページ | ホーム | 次のページ
`column_domain_usage` | 上に戻る | `column_udt_usage`