| PostgreSQL 8.0.0 中文文件(轉譯自 PostgreSQL 中國 製作的簡體中文版本) | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 30. 訊息模式 | Fast Forward | Next |
視圖 column_privileges 標出所有賦予目前用戶的字串或者目前用戶賦予的所有字串。 每個字串、授權人和被賦予權利的用戶組成一行。給予一個組賦予的權限在 role_column_grants 裡標出。
在 PostgreSQL 裡,您只能在整個資料表上賦予權限, 而不是獨立的字串。因此,這個視圖包含和 table_privileges 一樣的訊息,只是每個合適的資料表裡面的每個字串都有一行,但是它只覆蓋那些對每字串的權限粒度有意義的權限:SELECT,INSERT, UPDATE,REFERENCES。 如果您想讓您的應用可以適用於未來的開發,通常使用這個視圖比用 table_privileges 好,只要您需要考慮上面的權限之一。
Table 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 版本可能禁止用戶和組同名。