PGD predefined roles#
PGDの事前定義されたロールは、 BDR拡張機能のインストール時に作成されます。 BDR拡張機能がデータベースから削除された後、ロールは存在し続けます。ドロップが必要な場合は、手動でドロップする必要があります。
bdr_superuser#
このロールは、PGD関連のすべてを管理できる管理ユーザー用です。データベースとテーブルアクセスを分離して管理できます。これを使用すると、PostgreSQLのスーパーユーザー権限を付与せずにPGDクラスターを管理できるユーザーができます。
特権#
スキーマBDRのすべてのテーブルのすべての特権
スキーマBDRのすべてのルーチンのすべての特権
bdr_read_all_stats#
このロールは、ユーザーまたはアプリケーションがPGDクラスターの統計と状態を観察するために必要なほとんどのテーブル、ビュー、およびファンクションへの読み取りアクセスを提供します。
特権#
次のSELECT 特権
bdr.replication_statusbdr.stat_subscription deprecated
bdr.worker_errors deprecated
bdr.xid_peer_progress
以下のEXECUTE特権
bdr.bdr_editiondeprecatedbdr.get_sub_progress_timestamp
bdr_monitor#
このロールは、ユーザーまたはアプリケーションがPGDクラスターを監視するために必要なテーブル、ビュー、および機能への読み取りアクセスを提供します。これには、 bdr_read_all_stats ロールのすべての特権が含まれています。
特権#
bdr_read_all_stats のすべての特権に加えて、次の追加特権。
次のSELECT 特権
bdr.raft_instances
次のEXECUTE 特権
bdr_application#
このロールは、PGD機能、オブジェクト、シーケンス、CRDTデータ型、 CAMOステータス機能、トリガー管理機能などの機能へのアクセスを必要とするアプリケーション向けに設計されています。
特権#
次のEXECUTE 特権
column_timestampsデータ型のすべてのファンクション
CRDTデータ型のすべてのファンクション
bdr.ri_fkey_trigger
これらの機能の多くは、使用する前に追加の特権を必要とします。たとえば、
bdr.alter_sequence_set_kind
を正常に実行するには、テーブルの所有者である必要があります。これらの追加ルールは、特定の機能ごとに説明します。
bdr_read_all_conflicts#
PGDは競合を bdr.conflict_history にログ記録します
テーブル。競合はテーブルの所有者にのみ可視されるため、所有者が競合履歴を読み取るために追加の特権は必要ありません。
ただし、すべてのテーブルの競合を表示できるユーザーが便利な場合は、オプションでそのユーザーにロールbdr_read_all_conflicts
を付与できます。
特権#
bdr.conflict_history に明示的なポリシーが設定され、このロールがbdr.conflict_history
テーブルを読み取ることができます。