PGD Reference#
The PGD Reference section provides detailed information about PGD’s features.
Overview An overview of the features and capabilities of PGD.
Functions and Commands#
Configuration and Management#
Connection Manager Details about configuring and using Connection Manager, which provides a single endpoint for client connections to a PGD cluster.
Information about the types of nodes that can exist in a PGD cluster, including details of Subscriber-only nodes.
Node Management How to manage nodes in a PGD cluster, including adding and removing nodes, groups and examining cluster status.
How Postgres is configured to work in a PGD cluster.
How to back up and restore a PGD cluster.
Monitoring How to monitor a PGD cluster, including using the built-in monitoring tools and integrating with external monitoring systems.
How to use commit scopes to control transaction visibility in a distributed environment.
How to manage conflicts in a distributed environment, including conflict resolution strategies.
How to use autopartitioning to handle cooling data on nodes in a PGD cluster.
Guidance on testing and tuning a PGD cluster for optimal performance.
How to upgrade a PGD cluster to a new version, including considerations for compatibility and data migration.
Advanced Functionality#
Application Usage Guidance for developers wanting to use PGD's advanced functionality in their applications.
DDL How to use DDL functions in a distributed environment.
Decoding Worker How to use the decoding worker in replication in PGD.
CDC Failover Using logical slot failover in PGD for consistent change data capture (CDC).
Parallel Apply How to use parallel apply for improved performance in distributed transactions.
Security Users, roles, and permissions in PGD.
Sequences How to use PGD's distributed sequences in your applications.
Triggering actions in response to conflicts and transformations.
How to use transaction streaming for real-time data replication in PGD.
How to opt in to explicity two-phase commit in PGD.
- PGD overview
- Advanced functionality
- DDL replication
- DDL overview
- DDL replication options
- DDL locking details
- Managing DDL with PGD replication
- DDL command handling matrix
- Command matrix
- Command notes
- ALTER SEQUENCE
- ALTER TABLE
- ALTER TABLE disallowed commands
- ALTER TABLE locking
- ALTER TABLE examples
- ALTER TYPE
- COMMENT ON
- CREATE PROFILE or ALTER PROFILE
- CREATE SEQUENCE
- CREATE TABLE AS and SELECT INTO
- EXPLAIN
- EXPLAIN ANALYZE Replication
- EXPLAIN ANALYZE Locking
- GRANT and REVOKE
- LOCK TABLE
- SECURITY LABEL
- TRUNCATE Replication
- TRUNCATE Locking
- DDL and role manipulation statements
- Workarounds for DDL restrictions
- PGD functions that behave like DDL
- Decoding worker
- CDC Failover support
- Parallel Apply
- Replication sets
- Security and roles
- Sequences
- Stream triggers
- Transaction streaming
- Explicit two-phase commit (2PC)
- DDL replication
- Config and management
- Node types and capabilities
- Node management
- Connection Manager
- Postgres configuration
- Backup and recovery
- Monitoring
- Monitoring through SQL
- Monitoring overview
- Monitoring node join and removal
- Monitoring the manager worker
- Monitoring Routing
- Monitoring Replication Peers
- Monitoring PGD replication workers
- Monitoring PGD writers
- Monitoring commit scopes
- Monitoring global locks
- Monitoring conflicts
- Apply statistics
- Standard PostgreSQL statistics views
- Monitoring PGD versions
- Monitoring Raft consensus
- Monitoring replication slots
- Monitoring transaction COMMITs
- Monitoring through SQL
- AutoPartition in PGD
- Commit Scopes
- Conflict Management
- Conflicts
- Column-level conflict detection
- Conflict-free replicated data types
- Testing and tuning PGD clusters
- Functions and command
- Tables, views and functions reference
- User visible catalogs and views
- System functions
- PGD settings
- CRDTs vs conflict handling/reporting
- Global sequence parameters
- DDL handling
- Global locking
- Node management
- Generic replication
- CRDTs Overview
- Commit Scopes
- Commit At Most Once
- Using with transaction streaming
- Lag Control
- Monitoring and logging
- Decoding worker
- Connectivity settings
- Topology settings
- Internal settings - Raft timeouts
- Internal settings - Other Raft values
- Internal settings - Other values
- Node management
- Node management interfaces
- Routing functions
- Commit Scopes
- bdr_read_all_conflicts
- Column-level conflict functions
- Replication set management
- Replication set membership
- DDL replication filtering
- Testing and tuning commands
- Sequences
- Autopartitioning
- Stream triggers reference
- Stream triggers manipulation interfaces
- Stream triggers row functions
- Stream triggers row variables
- Internal catalogs and views
- Internal system functions
- Column-level conflict functions
- Column-level conflict functions
- bdr_read_all_conflicts
- User visible catalogs and views
- bdr.camo_decision_journal
bdr.camo_decision_journalcolumns- bdr.commit_scopes
bdr.commit_scopescolumns- bdr.conflict_history
bdr.conflict_historycolumns- bdr.conflict_history_summary
bdr.conflict_history_summarycolumns- bdr.consensus_kv_data
bdr.consensus_kv_dataColumns- bdr.crdt_handlers
bdr.crdt_handlersColumns- bdr.ddl_replication
bdr.ddl_replicationcolumns- bdr.depend
- bdr.failover_replication_slots
bdr.failover_replication_slotscolumns- bdr.global_consensus_journal
bdr.global_consensus_journalcolumns- bdr.global_consensus_journal_details
bdr.global_consensus_journal_detailscolumns- bdr.global_consensus_response_journal
bdr.global_consensus_response_journalcolumns- bdr.global_lock
bdr.global_lockcolumns- bdr.global_locks
bdr.global_lockscolumns- bdr.group_camo_details
bdr.group_camo_detailscolumns- bdr.group_raft_details
bdr.group_raft_detailscolumns- bdr.group_replslots_details
bdr.group_replslots_detailscolumns- bdr.group_subscription_summary
bdr.group_subscription_summarycolumns- bdr.group_versions_details
bdr.group_versions_detailscolumns- bdr.leader
bdr.leadercolumns- bdr.local_consensus_snapshot
bdr.local_consensus_snapshotcolumns- bdr.local_consensus_state
bdr.local_consensus_statecolumns- bdr.local_node
bdr.local_nodecolumns- bdr.local_node_summary
- bdr.local_sync_status
bdr.local_sync_statuscolumns- bdr.node
bdr.nodecolumns- bdr.node_catchup_info
bdr.node_catchup_infocolumns- bdr.node_catchup_info_details
- bdr.node_conflict_resolvers
bdr.node_conflict_resolverscolumns- bdr.node_group
bdr.node_groupcolumns- bdr.node_group_replication_sets
bdr.node_group_replication_setscolumns- bdr.node_group_summary
bdr.node_group_summarycolumns- bdr.node_local_info
bdr.node_local_infocolumns- bdr.node_log_config
bdr.node_log_configcolumns- bdr.node_peer_progress
bdr.node_peer_progresscolumns- bdr.node_replication_rates
bdr.node_replication_ratescolumns- bdr.node_slots
bdr.node_slotscolumns- bdr.node_summary
bdr.node_summarycolumns- bdr.parted_origin_catchup_info
bdr.parted_origin_catchup_infocolumns- bdr.parted_origin_catchup_info_details
bdr.parted_origin_catchup_info_detailscolumns- bdr.queue
bdr.queuecolumns- bdr.replication_set
bdr.replication_setcolumns- bdr.replication_set_table
bdr.replication_set_tablecolumns- bdr.replication_set_ddl
bdr.replication_set_ddlColumns- bdr.replication_sets
bdr.replication_setscolumns- bdr.schema_changes
bdr.schema_changescolumns- bdr.sequence_alloc
bdr.sequence_alloccolumns- bdr.sequences
bdr.sequencescolumns- bdr.stat_activity
bdr.stat_activityadditional columns- bdr.stat_commit_scope
bdr.stat_commit_scopecolumns- bdr.stat_commit_scope_state
bdr.stat_commit_scope_statecolumns- bdr.stat_connection_manager
bdr.stat_connection_managercolumns- bdr.stat_connection_manager_connections
bdr.stat_connection_manager_connectionscolumns- bdr.stat_connection_manager_node_stats
bdr.stat_connection_manager_node_statscolumns- bdr.stat_connection_manager_hba_file_rules
bdr.stat_connection_manager_hba_file_rulescolumns- bdr.stat_raft_followers_state
bdr.stat_raft_followers_statecolumns- bdr.stat_raft_state
bdr.stat_raft_statecolumns- bdr.stat_receiver
bdr.stat_receivercolumns- bdr.stat_receiver_transactions
bdr.stat_receiver_transactionscolumns- bdr.stat_relation
bdr.stat_relationcolumns- bdr.stat_routing_candidate_state
bdr.stat_routing_candidate_statecolumns- bdr.stat_routing_state
bdr.stat_routing_statecolumns- bdr.stat_subscription
bdr.stat_subscriptioncolumns- bdr.stat_worker
bdr.stat_workercolumns- bdr.stat_writer
bdr.stat_writercolumns- bdr.subscription
bdr.subscriptioncolumns- bdr.subscription_summary
bdr.subscription_summarycolumns- bdr.tables
bdr.tablescolumns- bdr.taskmgr_work_queue
bdr.taskmgr_work_queuecolumns- bdr.taskmgr_workitem_status
bdr.taskmgr_workitem_statuscolumns- bdr.taskmgr_local_work_queue
bdr.taskmgr_local_work_queuecolumns- bdr.taskmgr_local_workitem_status
bdr.taskmgr_local_workitem_statuscolumns- bdr.trigger
bdr.triggercolumns- bdr.triggers
- bdr.workers
bdr.workersColumns- bdr.writers
bdr.writerscolumns- bdr.worker_tasks
bdr.worker_taskscolumns
- System functions
- PGD settings
- Conflict handling
- Global sequence parameters
- DDL handling
- Global locking
- Node management
- Generic replication
- CRDTs
- Commit scope
- Commit At Most Once
- Transaction streaming
- Lag Control
- Monitoring and logging
- Decoding worker
- Connectivity settings
- Topology settings
- Internal settings - Raft timeouts
- Internal settings - Other Raft values
- Internal settings - Other values
- Node management
- Node management interfaces
- bdr.alter_node_group_option
- bdr.alter_node_interface
- bdr.alter_node_option
- bdr.alter_subscription_enable
- bdr.alter_subscription_disable
- bdr.create_node
- bdr.create_node_group
- bdr.drop_node_group
- bdr.join_node_group
- bdr.part_node
- bdr.promote_node
- bdr.switch_node_group
- bdr.sync_node_cancel
- bdr.wait_for_join_completion
- Routing functions
- Commit scopes
- Conflicts
- Conflict functions
- Replication set management
- Replication set membership
- DDL replication filtering
- Testing and tuning commands
- Global sequence management interfaces
- Autopartition
- bdr.autopartition
- Synopsis
- Parameters
- Examples
- bdr.drop_autopartition
- Parameters
- bdr.autopartition_wait_for_partitions
- Synopsis
- Parameters
- bdr.autopartition_wait_for_partitions_on_all_nodes
- Synopsis
- Parameters
- bdr.autopartition_find_partition
- Synopsis
- Parameters
- bdr.autopartition_enable
- Synopsis
- Parameters
bdr.autopartition_disable- Synopsis
- Parameters
- Internal functions
- bdr.autopartition_create_partition
- Synopsis
- Parameters
- Notes
- bdr.autopartition_drop_partition
- Synopsis
- Parameters
- Notes
- Stream triggers reference
- Internal catalogs and views
- bdr.autopartition_partitions
bdr.autopartition_partitionscolumns- bdr.autopartition_rules
bdr.autopartition_rulescolumns- bdr.ddl_epoch
bdr.ddl_epochcolumns- bdr.event_history
bdr.event_historycolumns- bdr.event_summary
- bdr.local_leader_change
- bdr.node_config
bdr.node_configcolumns- bdr.node_config_summary
bdr.node_config_summarycolumns- bdr.node_group_config
bdr.node_group_configcolumns- bdr.node_group_routing_config_summary
bdr.node_group_routing_config_summarycolumns- bdr.node_group_routing_info
bdr.node_group_routing_infocolumns- bdr.node_group_routing_summary
bdr.node_group_routing_summarycolumns- bdr.node_routing_config_summary
bdr.node_routing_config_summarycolumns- bdr.sequence_kind
bdr.sequence_kindcolumns- bdr.sync_node_requests
bdr.sync_node_requestscolumns- bdr.sync_node_requests_summary
bdr.sync_node_requests_summarycolumns
- Internal system functions
- Column-level conflict functions
- User visible catalogs and views
- EDB Postgres Distributed Command Line Interface (PGD CLI)
- Tables, views and functions reference
- Guidance for dev