テーブルへのアクセス権限の確認

\l で確認する

 postgres=> \l
                                   List of databases
    Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
 -----------+----------+----------+-------------+-------------+-----------------------
  postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
  template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
            |          |          |             |             | postgres=CTc/postgres
  template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
            |          |          |             |             | postgres=CTc/postgres

information_schema の role_table_grants で確認する

 PSQL> \connect my_db
 PSQL> SELECT grantee, table_name, privilege_type FROM information_schema.role_table_grants
 
  grantee | table_name | privilege_type
 ---------+------------+----------------
  user_01 | orders     | INSERT
  user_01 | orders     | SELECT
  user_01 | orders     | UPDATE
  user_01 | orders     | DELETE
  user_01 | orders     | TRUNCATE
  user_01 | orders     | REFERENCES
  user_01 | orders     | TRIGGER
  user_01 | members    | INSERT
  user_01 | members    | SELECT
  user_01 | members    | UPDATE
  • granteeがユーザ名(=ロール名)

参考

https://dba.stackexchange.com/questions/4286/list-the-database-privileges-using-psql


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2020-04-17 (金) 14:30:18