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:
EXECUTE privilege on:
bdr_monitor#
All privileges from bdr_read_all_stats .
Also, EXECUTE privilege on:
bdr_application#
EXECUTE privilege on:
All functions for column_timestamps datatypes
All functions for CRDT datatypes
bdr.get_configured_camo_partnerbdr.is_camo_partner_connectedbdr.is_camo_partner_readybdr.logical_transaction_statusbdr.ri_fkey_triggerbdr.seq_currvalbdr.seq_lastvalbdr.wait_for_camo_partner_queue
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.