PGD predefined roles#

PGDの事前定義されたロールは、 BDR拡張機能のインストール時に作成されます。 BDR拡張機能がデータベースから削除された後、ロールは存在し続けます。ドロップが必要な場合は、手動でドロップする必要があります。

bdr_superuser#

このロールは、PGD関連のすべてを管理できる管理ユーザー用です。データベースとテーブルアクセスを分離して管理できます。これを使用すると、PostgreSQLのスーパーユーザー権限を付与せずにPGDクラスターを管理できるユーザーができます。

特権#

  • スキーマBDRのすべてのテーブルのすべての特権

  • スキーマBDRのすべてのルーチンのすべての特権

bdr_read_all_stats#

このロールは、ユーザーまたはアプリケーションがPGDクラスターの統計と状態を観察するために必要なほとんどのテーブル、ビュー、およびファンクションへの読み取りアクセスを提供します。

特権#

次のSELECT 特権

以下のEXECUTE特権

bdr_monitor#

このロールは、ユーザーまたはアプリケーションがPGDクラスターを監視するために必要なテーブル、ビュー、および機能への読み取りアクセスを提供します。これには、 bdr_read_all_stats ロールのすべての特権が含まれています。

特権#

bdr_read_all_stats のすべての特権に加えて、次の追加特権。

次のSELECT 特権

次のEXECUTE 特権

bdr_application#

このロールは、PGD機能、オブジェクト、シーケンス、CRDTデータ型、 CAMOステータス機能、トリガー管理機能などの機能へのアクセスを必要とするアプリケーション向けに設計されています。

特権#

次のEXECUTE 特権

これらの機能の多くは、使用する前に追加の特権を必要とします。たとえば、 bdr.alter_sequence_set_kind を正常に実行するには、テーブルの所有者である必要があります。これらの追加ルールは、特定の機能ごとに説明します。

bdr_read_all_conflicts#

PGDは競合を bdr.conflict_history にログ記録します

テーブル。競合はテーブルの所有者にのみ可視されるため、所有者が競合履歴を読み取るために追加の特権は必要ありません。

ただし、すべてのテーブルの競合を表示できるユーザーが便利な場合は、オプションでそのユーザーにロールbdr_read_all_conflicts を付与できます。

特権#

bdr.conflict_history に明示的なポリシーが設定され、このロールがbdr.conflict_history テーブルを読み取ることができます。