27

Postgresデータベースオブジェクトのデフォルトの権限を変更した後、それらをどのように表示できますか?

たとえばrole_name、スキーマで作成されたすべてのテーブルにすべての権限を付与すると、次のようになりますschema_name

ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT ALL ON TABLES TO role_name;
4

3 に答える 3

45

psql(1)インタラクティブ端末の使用

少なくとも最近のPostgresバージョンでは、別の方法があります。コマンド
を使用する\ddp

               Default access privileges
     Owner      | Schema |   Type   | Access privileges 
----------------+--------+----------+-------------------
 role_x         |        | function | =X/role_x
 role_x         |        | sequence | 
 role_x         |        | table    | 
 role_x         |        | type     | =U/role_x

詳細については、こちらのメモセクションをご覧ください:
http ://www.postgresql.org/docs/current/static/sql-alterdefaultprivileges.html

于 2015-02-13T11:53:21.613 に答える
29

SQLクエリの使用

SELECT 
  nspname,         -- schema name
  defaclobjtype,   -- object type
  defaclacl        -- default access privileges
FROM pg_default_acl a JOIN pg_namespace b ON a.defaclnamespace=b.oid;

ここで、の値defaclobjtyper =関係(テーブル、ビュー)、S =シーケンス、f=関数です。

これらのアクセス権は、スキーマ名前空間内に新しく作成されたオブジェクトに対してのみ使用されます。

于 2013-01-28T03:31:09.937 に答える
2

参加pg_default_actするpg_namespaceと、スキーマで使用して付与されたデフォルトの権限のみが一覧表示されます。

于 2019-09-26T01:17:33.853 に答える