PGD predefined roles
====================

PGDの事前定義されたロールは、
BDR拡張機能のインストール時に作成されます。
BDR拡張機能がデータベースから削除された後、ロールは存在し続けます。ドロップが必要な場合は、手動でドロップする必要があります。この実践により、PGDを同じPostgreSQLインスタンス上の複数のデータベースで問題なく使用できます。

bdr_superuser
^^^^^^^^^^^^^

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

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

bdr_read_all_stats
^^^^^^^^^^^^^^^^^^

以下のSELECT特権

-  :ref:`bdr.conflict_history_summary <bdr.conflict_history_summary>` 

-  :ref:`bdr.ddl_epoch <bdr.ddl_epoch>` 

-  :ref:`bdr.ddl_replication <bdr.ddl_replication>` 

-  :ref:`bdr.global_consensus_journal_details <bdr.global_consensus_journal_details>` 

-  :ref:`bdr.global_lock <bdr.global_lock>` 

-  :ref:`bdr.global_locks <bdr.global_locks>` 

-  :ref:`bdr.local_consensus_state <bdr.local_consensus_state>` 

-  :ref:`bdr.local_node_summary <bdr.local_node_summary>` 

-  :ref:`bdr.node_config <bdr.node_config>` 

-  :ref:`bdr.node_catchup_info <bdr.node_catchup_info>` 

-  :ref:`bdr.node_conflict_resolvers <bdr.node_conflict_resolvers>` 

-  :ref:`bdr.node_group_config <bdr.node_group_config>` 

-  :ref:`bdr.node_local_info <bdr.node_local_info>` 

-  :ref:`bdr.node_peer_progress <bdr.node_peer_progress>` 

-  :ref:`bdr.node_slots <bdr.node_slots>` 

-  :ref:`bdr.node_summary <bdr.node_summary>` 

-  :ref:`bdr.replication_sets <bdr.replication_sets>` 

-  :ref:`bdr.sequences <bdr.sequences>` 

-  :ref:`bdr.stat_relation <bdr.stat_relation>` 

-  :ref:`bdr.stat_subscription <bdr.stat_subscription>` 

-  :ref:`bdr.subscription <bdr.subscription>` 

-  :ref:`bdr.subscription_summary <bdr.subscription_summary>` 

-  :ref:`bdr.tables <bdr.tables>` 

以下のEXECUTE特権

-  :ref:`bdr.bdr_version <bdr.bdr_version>` 

-  :ref:`bdr.bdr_version_num <bdr.bdr_version_num>` 

-  :ref:`bdr.decode_message_payload <bdr.decode_message_payload>` 

-  :ref:`bdr.get_global_locks <bdr.get_global_locks>` 

-  :ref:`bdr.get_raft_status <bdr.get_raft_status>` 

-  :ref:`bdr.get_relation_stats <bdr.get_relation_stats>` 

-  :ref:`bdr.get_slot_flush_timestamp <bdr.get_slot_flush_timestamp>` 

-  ``bdr.get_sub_progress_timestamp``

-  :ref:`bdr.get_subscription_stats <bdr.get_subscription_stats>` 

-  :ref:`bdr.peer_state_name <bdr.peer_state_name>` 

-  :ref:`bdr.show_subscription_status <bdr.show_subscription_status>` 

bdr_monitor
^^^^^^^^^^^

``bdr_read_all_stats`` からのすべての特権。

また、次のEXECUTE特権

-  :ref:`bdr.monitor_group_versions <bdr.monitor_group_versions>` 

-  :ref:`bdr.monitor_group_raft <bdr.monitor_group_raft>` 

-  :ref:`bdr.monitor_local_replslots <bdr.monitor_local_replslots>` 

bdr_application
^^^^^^^^^^^^^^^

以下のEXECUTE特権

-  column_timestampsデータ型のすべてのファンクション

-  CRDTデータ型のすべてのファンクション

-  :ref:`bdr.alter_sequence_set_kind <bdr.alter_sequence_set_kind>` 

-  :ref:`bdr.create_conflict_trigger <bdr.create_conflict_trigger>` 

-  :ref:`bdr.create_transform_trigger <bdr.create_transform_trigger>` 

-  :ref:`bdr.drop_trigger <bdr.drop_trigger>` 

-  ``bdr.get_configured_camo_partner``

-  :ref:`bdr.global_lock_table <bdr.global_lock_table>` 

-  ``bdr.is_camo_partner_connected``

-  ``bdr.is_camo_partner_ready``

-  ``bdr.logical_transaction_status``

-  ``bdr.ri_fkey_trigger``

-  :ref:`bdr.seq_nextval <bdr.seq_nextval>` 

-  ``bdr.seq_currval``

-  ``bdr.seq_lastval``

-  :ref:`bdr.trigger_get_committs <bdr.trigger_get_committs>` 

-  :ref:`bdr.trigger_get_conflict_type <bdr.trigger_get_conflict_type>` 

-  :ref:`bdr.trigger_get_origin_node_id <bdr.trigger_get_origin_node_id>` 

-  :ref:`bdr.trigger_get_row <bdr.trigger_get_row>` 

-  :ref:`bdr.trigger_get_type <bdr.trigger_get_type>` 

-  :ref:`bdr.trigger_get_xid <bdr.trigger_get_xid>` 

-  ``bdr.wait_for_camo_partner_queue``

-  :ref:`bdr.wait_slot_confirm_lsn <bdr.wait_slot_confirm_lsn>` 

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

bdr_read_all_conflicts
^^^^^^^^^^^^^^^^^^^^^^

PGDは競合を :ref:`bdr.conflict_history <bdr.conflict_history>` にログ記録します

テーブル。競合はテーブルの所有者にのみ可視されるため、競合履歴を読み取るために追加の特権は必要ありません。すべてのテーブルの競合を表示できるユーザーが便利な場合は、オプションでそのユーザーにbdr_read_all_conflictsロールを付与できます。
