PGD predefined roles#
PGD predefined roles are created when the BDR extension is installed. After BDR extension is dropped from a database, the roles continue to exist. You need to drop them manually if dropping is required. This practice allows PGD to be used in multiple databases on the same PostgreSQL instance without problem.
bdr_superuser#
ALL PRIVILEGES ON ALL TABLES IN SCHEMA BDR
ALL PRIVILEGES ON ALL ROUTINES IN SCHEMA BDR
bdr_read_all_stats#
SELECT privilege on:
bdr.autopartition_partitionsbdr.autopartition_rulesbdr.replication_statusbdr.stat_subscription _deprecated_
bdr.worker_errors _deprecated_
bdr.xid_peer_progress
EXECUTE privilege on:
bdr.bdr_edition _deprecated_
bdr.get_min_required_replication_slots
bdr.get_min_required_worker_processes
bdr.get_sub_progress_timestamp
bdr.lag_history
bdr.pglogical_proto_version_ranges
bdr.stat_get_activity
bdr.worker_role_id_name
bdr_monitor#
All privileges from bdr_read_all_stats .
Also, SELECT privilege on:
bdr.raft_instances
Also, EXECUTE privilege on:
bdr.get_raft_instance_by_nodegroup
bdr.monitor_camo_on_all_nodes
bdr.monitor_raft_details_on_all_nodes
bdr.monitor_replslots_details_on_all_nodes
bdr.monitor_subscription_details_on_all_nodes
bdr.monitor_version_details_on_all_nodes
bdr.node_group_member_info
bdr_application#
EXECUTE privilege on:
All functions for column_timestamps datatypes
All functions for CRDT datatypes
bdr.ri_fkey_trigger
Many of these functions require additional privileges before you can use
them. For example, you must be the table owner to successfully execute
bdr.alter_sequence_set_kind . These additional rules are described
with each specific function.
bdr_read_all_conflicts#
PGD logs conflicts into the bdr.conflict_history
table. Conflicts are visible only to table owners, so no extra privileges are required to read the conflict history. If it’s useful to have a user that can see conflicts for all tables, you can optionally grant the role bdr_read_all_conflicts to that user.