From 7c4888eafe62d2ed7ac72769f9031ab9885975d4 Mon Sep 17 00:00:00 2001 From: Dj Walker-Morgan Date: Thu, 17 Apr 2025 13:42:21 +0100 Subject: [PATCH 1/6] reference format fixes Signed-off-by: Dj Walker-Morgan --- .../docs/pgd/6/reference/catalogs-visible.mdx | 83 +- product_docs/docs/pgd/6/reference/index.json | 751 +++++++++--------- product_docs/docs/pgd/6/reference/index.mdx | 5 + 3 files changed, 458 insertions(+), 381 deletions(-) diff --git a/product_docs/docs/pgd/6/reference/catalogs-visible.mdx b/product_docs/docs/pgd/6/reference/catalogs-visible.mdx index 1734157ad67..c45ca693be8 100644 --- a/product_docs/docs/pgd/6/reference/catalogs-visible.mdx +++ b/product_docs/docs/pgd/6/reference/catalogs-visible.mdx @@ -894,6 +894,8 @@ Dynamic activity for each backend or worker process. This contains the same information as [`pg_stat_activity`](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW), except `wait_event` is set correctly when the wait relates to PGD and the following Connection Manager related fields are added: +### `bdr.stat_activity` additional columns + | Name | Type | Description | |------------------------------------|---------|------------------------------------------------------------------------------------------------------------------| | connection_manager_client_addr | inet | IP address of the client connection | @@ -936,6 +938,71 @@ A view of information about the current use of commit scopes by backends. | waiting_commit_confirmations| integer | The number of COMMIT confirmations that are still needed by the operation | waiting_lsn_confirmations| integer | The number of LSN confirmations that are still needed by the operation +### `bdr.stat_connection_manager` + +A view contianing statistics for the connection manager on this node. + +#### `bdr.stat_connection_manager` columns + +| Column | Type | Description | +|------------------|--------|-----------------------------------------| +| ntotal_rw_conns | bigint | Total number of read-write connections | +| ntotal_ro_conns | bigint | Total number of read-only connections | +| nactive_rw_conns | int | Number of active read-write connections | +| nactive_ro_conns | int | Number of active read-only connections | + +### `bdr.stat_connection_manager_connections` + +A view containing information about the connections to the connection manager. + +#### `bdr.stat_connection_manager_connections` columns + +| Column | Type | Description | +|-------------------------------|--------|---------------------------------------------------------------------------------------------------------| +| connection_manager_client_addr | text |IP address of the client connected to the connection manager. | +| connection_manager_client_port | int | TCP port number that the client is using for communication with the connection manager. | +| connection_manager_addr | text | IP address of the connection manager node. | +| connection_manager_port | int | TCP port number that the connection manager is using to communicate with the Postgres node. | +| session_read_only | boolean| Whether the session is read-only or not. | +| client_uses_tls | boolean| Whether the client is using TLS to connect to the connection manager node, or not. | + +### `bdr.stat_connection_manager_node_stats` + +A view containing information about server connection statistics for the connection manager on this node. + +#### `bdr.stat_connection_manager_node_stats` columns + +| Column | Type | Description | +|----------------------|---------|--------------------------------------------------------| +| node_id | oid | OID of the node | +| node_name | name | Name of the node | +| route_rw_connections | boolean | Whether read-write connections are routed to this node | +| route_ro_connections | boolean | Whether read-only connections are routed to this node | +| ntotal_rw_conns | bigint | Total number of read-write connections | +| ntotal_ro_conns | bigint | Total number of read-only connections | +| nactive_rw_conns | int | Number of active read-write connections | +| nactive_ro_conns | int | Number of active read-only connections | + +### `bdr.stat_connection_manager_hba_file_rules` + +A view that shows only the only valid and supported rules the connection manager is using from the HBA file (pg_hba.conf) and information about those rules. + +#### `bdr.stat_connection_manager_hba_file_rules` columns + +| Column | Type | Description | +|--------------|---------|----------------------------------------------------------------------------------------------------------------------| +| rule_number | integer | Rule number. This indicates the order in which each rule is considered until a match is found during authentication. | +| file_name | text | Name of the file containing this rule. | +| line_number | integer | Line number of this rule in the file referenced in file_name. | +| type | text | Type of connection. | +| database | text[] | List of database names this rule applies to. | +| user_name | text[] | List of user names this rule applies to | +| address | text | Host name or IP address, or one of all, samehost, or samenet, or null for local connections. | +| netmask | text | IP address mask, or null if not applicable. | +| auth_method | text | Authentication method. | +| auth_options | text | Options specified for authentication method, if any. | + + ### `bdr.stat_raft_followers_state` A view of the state of the raft leader's followers on the Raft leader node (empty on other nodes). @@ -944,14 +1011,14 @@ A view of the state of the raft leader's followers on the Raft leader node (empt | Column | Type | Description | | ------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | -| group_name | name | The group this information is for (each group can have a separate consensus configured) -| node_name | name | Name of the follower node -| sent_commit_index | bigint | Latest Raft index sent to the follower node -| match_index | bigint | Raft index we expect to match the next response from the follower node -| last_message_time | timestamp with time zone | Last message (any, including requests) seen from the follower node -| last_heartbeat_send_time| timestamp with time zone| Last time the leader sent heartbeat to the follower node -| last_heartbeat_response_time| Lasat time the leader has seen a heartbeat response from the follower node -| approx_clock_drift_ms| bigint | Approximate clock drift seen by the leader against the follower node in milliseconds +| group_name | name | The group this information is for (each group can have a separate consensus configured). +| node_name | name | Name of the follower node. +| sent_commit_index | bigint | Latest Raft index sent to the follower node. +| match_index | bigint | Raft index we expect to match the next response from the follower node. +| last_message_time | timestamp with time zone | Last message (any, including requests) seen from the follower node. +| last_heartbeat_send_time| timestamp with time zone| Last time the leader sent heartbeat to the follower node. +| last_heartbeat_response_time| timestamp with time zone | Last time the leader has seen a heartbeat response from the follower node. +| approx_clock_drift_ms| bigint | Approximate clock drift seen by the leader against the follower node in milliseconds. ### `bdr.stat_raft_state` diff --git a/product_docs/docs/pgd/6/reference/index.json b/product_docs/docs/pgd/6/reference/index.json index 87747b07db0..7b48fd0ad9e 100644 --- a/product_docs/docs/pgd/6/reference/index.json +++ b/product_docs/docs/pgd/6/reference/index.json @@ -1,375 +1,380 @@ { - "bdrcamo_decision_journal": "/pgd/5/reference/catalogs-visible#bdrcamo_decision_journal", - "bdrcommit_scopes": "/pgd/5/reference/catalogs-visible#bdrcommit_scopes", - "bdrconflict_history": "/pgd/5/reference/catalogs-visible#bdrconflict_history", - "bdrconflict_history_summary": "/pgd/5/reference/catalogs-visible#bdrconflict_history_summary", - "bdrconsensus_kv_data": "/pgd/5/reference/catalogs-visible#bdrconsensus_kv_data", - "bdrcrdt_handlers": "/pgd/5/reference/catalogs-visible#bdrcrdt_handlers", - "bdrddl_replication": "/pgd/5/reference/pgd-settings#bdrddl_replication", - "bdrdepend": "/pgd/5/reference/catalogs-visible#bdrdepend", - "bdrfailover_replication_slots": "/pgd/5/reference/catalogs-visible#bdrfailover_replication_slots", - "bdrglobal_consensus_journal": "/pgd/5/reference/catalogs-visible#bdrglobal_consensus_journal", - "bdrglobal_consensus_journal_details": "/pgd/5/reference/catalogs-visible#bdrglobal_consensus_journal_details", - "bdrglobal_consensus_response_journal": "/pgd/5/reference/catalogs-visible#bdrglobal_consensus_response_journal", - "bdrglobal_lock": "/pgd/5/reference/catalogs-visible#bdrglobal_lock", - "bdrglobal_locks": "/pgd/5/reference/catalogs-visible#bdrglobal_locks", - "bdrgroup_camo_details": "/pgd/5/reference/catalogs-visible#bdrgroup_camo_details", - "bdrgroup_raft_details": "/pgd/5/reference/catalogs-visible#bdrgroup_raft_details", - "bdrgroup_replslots_details": "/pgd/5/reference/catalogs-visible#bdrgroup_replslots_details", - "bdrgroup_subscription_summary": "/pgd/5/reference/catalogs-visible#bdrgroup_subscription_summary", - "bdrgroup_versions_details": "/pgd/5/reference/catalogs-visible#bdrgroup_versions_details", - "bdrleader": "/pgd/5/reference/catalogs-visible#bdrleader", - "bdrlocal_consensus_snapshot": "/pgd/5/reference/catalogs-visible#bdrlocal_consensus_snapshot", - "bdrlocal_consensus_state": "/pgd/5/reference/catalogs-visible#bdrlocal_consensus_state", - "bdrlocal_node": "/pgd/5/reference/catalogs-visible#bdrlocal_node", - "bdrlocal_node_summary": "/pgd/5/reference/catalogs-visible#bdrlocal_node_summary", - "bdrlocal_sync_status": "/pgd/5/reference/catalogs-visible#bdrlocal_sync_status", - "bdrnode": "/pgd/5/reference/catalogs-visible#bdrnode", - "bdrnode_catchup_info": "/pgd/5/reference/catalogs-visible#bdrnode_catchup_info", - "bdrnode_catchup_info_details": "/pgd/5/reference/catalogs-visible#bdrnode_catchup_info_details", - "bdrnode_conflict_resolvers": "/pgd/5/reference/catalogs-visible#bdrnode_conflict_resolvers", - "bdrnode_group": "/pgd/5/reference/catalogs-visible#bdrnode_group", - "bdrnode_group_replication_sets": "/pgd/5/reference/catalogs-visible#bdrnode_group_replication_sets", - "bdrnode_group_summary": "/pgd/5/reference/catalogs-visible#bdrnode_group_summary", - "bdrnode_local_info": "/pgd/5/reference/catalogs-visible#bdrnode_local_info", - "bdrnode_log_config": "/pgd/5/reference/catalogs-visible#bdrnode_log_config", - "bdrnode_peer_progress": "/pgd/5/reference/catalogs-visible#bdrnode_peer_progress", - "bdrnode_replication_rates": "/pgd/5/reference/catalogs-visible#bdrnode_replication_rates", - "bdrnode_slots": "/pgd/5/reference/catalogs-visible#bdrnode_slots", - "bdrnode_summary": "/pgd/5/reference/catalogs-visible#bdrnode_summary", - "bdrqueue": "/pgd/5/reference/catalogs-visible#bdrqueue", - "bdrreplication_set": "/pgd/5/reference/catalogs-visible#bdrreplication_set", - "bdrreplication_set_table": "/pgd/5/reference/catalogs-visible#bdrreplication_set_table", - "bdrreplication_set_ddl": "/pgd/5/reference/catalogs-visible#bdrreplication_set_ddl", - "bdrreplication_sets": "/pgd/5/reference/catalogs-visible#bdrreplication_sets", - "bdrschema_changes": "/pgd/5/reference/catalogs-visible#bdrschema_changes", - "bdrsequence_alloc": "/pgd/5/reference/catalogs-visible#bdrsequence_alloc", - "bdrsequences": "/pgd/5/reference/catalogs-visible#bdrsequences", - "bdrstat_activity": "/pgd/5/reference/catalogs-visible#bdrstat_activity", - "bdrstat_commit_scope": "/pgd/5/reference/catalogs-visible#bdrstat_commit_scope", - "bdrstat_commit_scope_state": "/pgd/5/reference/catalogs-visible#bdrstat_commit_scope_state", - "bdrstat_raft_followers_state": "/pgd/5/reference/catalogs-visible#bdrstat_raft_followers_state", - "bdrstat_raft_state": "/pgd/5/reference/catalogs-visible#bdrstat_raft_state", - "bdrstat_receiver": "/pgd/5/reference/catalogs-visible#bdrstat_receiver", - "bdrstat_relation": "/pgd/5/reference/catalogs-visible#bdrstat_relation", - "bdrstat_routing_candidate_state": "/pgd/5/reference/catalogs-visible#bdrstat_routing_candidate_state", - "bdrstat_routing_state": "/pgd/5/reference/catalogs-visible#bdrstat_routing_state", - "bdrstat_subscription": "/pgd/5/reference/catalogs-visible#bdrstat_subscription", - "bdrstat_worker": "/pgd/5/reference/catalogs-visible#bdrstat_worker", - "bdrstat_writer": "/pgd/5/reference/catalogs-visible#bdrstat_writer", - "bdrsubscription": "/pgd/5/reference/catalogs-visible#bdrsubscription", - "bdrsubscription_summary": "/pgd/5/reference/catalogs-visible#bdrsubscription_summary", - "bdrtables": "/pgd/5/reference/catalogs-visible#bdrtables", - "bdrtaskmgr_work_queue": "/pgd/5/reference/catalogs-visible#bdrtaskmgr_work_queue", - "bdrtaskmgr_workitem_status": "/pgd/5/reference/catalogs-visible#bdrtaskmgr_workitem_status", - "bdrtaskmgr_local_work_queue": "/pgd/5/reference/catalogs-visible#bdrtaskmgr_local_work_queue", - "bdrtaskmgr_local_workitem_status": "/pgd/5/reference/catalogs-visible#bdrtaskmgr_local_workitem_status", - "bdrtrigger": "/pgd/5/reference/catalogs-visible#bdrtrigger", - "bdrtriggers": "/pgd/5/reference/catalogs-visible#bdrtriggers", - "bdrworkers": "/pgd/5/reference/catalogs-visible#bdrworkers", - "bdrwriters": "/pgd/5/reference/catalogs-visible#bdrwriters", - "bdrworker_tasks": "/pgd/5/reference/catalogs-visible#bdrworker_tasks", - "bdrbdr_version": "/pgd/5/reference/functions#bdrbdr_version", - "bdrbdr_version_num": "/pgd/5/reference/functions#bdrbdr_version_num", - "bdrget_relation_stats": "/pgd/5/reference/functions#bdrget_relation_stats", - "bdrget_subscription_stats": "/pgd/5/reference/functions#bdrget_subscription_stats", - "bdrlocal_node_id": "/pgd/5/reference/functions#bdrlocal_node_id", - "bdrlast_committed_lsn": "/pgd/5/reference/functions#bdrlast_committed_lsn", - "transaction_id": "/pgd/5/reference/functions#transaction_id", - "bdris_node_connected": "/pgd/5/reference/functions#bdris_node_connected", - "bdris_node_ready": "/pgd/5/reference/functions#bdris_node_ready", - "bdrconsensus_disable": "/pgd/5/reference/functions#bdrconsensus_disable", - "bdrconsensus_enable": "/pgd/5/reference/functions#bdrconsensus_enable", - "bdrconsensus_proto_version": "/pgd/5/reference/functions#bdrconsensus_proto_version", - "bdrconsensus_snapshot_export": "/pgd/5/reference/functions#bdrconsensus_snapshot_export", - "bdrconsensus_snapshot_import": "/pgd/5/reference/functions#bdrconsensus_snapshot_import", - "bdrconsensus_snapshot_verify": "/pgd/5/reference/functions#bdrconsensus_snapshot_verify", - "bdrget_consensus_status": "/pgd/5/reference/functions#bdrget_consensus_status", - "bdrget_raft_status": "/pgd/5/reference/functions#bdrget_raft_status", - "bdrraft_leadership_transfer": "/pgd/5/reference/functions#bdrraft_leadership_transfer", - "bdrwait_slot_confirm_lsn": "/pgd/5/reference/functions#bdrwait_slot_confirm_lsn", - "bdrwait_node_confirm_lsn": "/pgd/5/reference/functions#bdrwait_node_confirm_lsn", - "bdrwait_for_apply_queue": "/pgd/5/reference/functions#bdrwait_for_apply_queue", - "bdrget_node_sub_receive_lsn": "/pgd/5/reference/functions#bdrget_node_sub_receive_lsn", - "bdrget_node_sub_apply_lsn": "/pgd/5/reference/functions#bdrget_node_sub_apply_lsn", - "bdrreplicate_ddl_command": "/pgd/5/reference/functions#bdrreplicate_ddl_command", - "bdrrun_on_all_nodes": "/pgd/5/reference/functions#bdrrun_on_all_nodes", - "bdrrun_on_nodes": "/pgd/5/reference/functions#bdrrun_on_nodes", - "bdrrun_on_group": "/pgd/5/reference/functions#bdrrun_on_group", - "bdrglobal_lock_table": "/pgd/5/reference/functions#bdrglobal_lock_table", - "bdrwait_for_xid_progress": "/pgd/5/reference/functions#bdrwait_for_xid_progress", - "bdrlocal_group_slot_name": "/pgd/5/reference/functions#bdrlocal_group_slot_name", - "bdrnode_group_type": "/pgd/5/reference/functions#bdrnode_group_type", - "bdralter_node_kind": "/pgd/5/reference/functions#bdralter_node_kind", - "bdralter_subscription_skip_changes_upto": "/pgd/5/reference/functions#bdralter_subscription_skip_changes_upto", - "bdrglobal_advisory_lock": "/pgd/5/reference/functions#bdrglobal_advisory_lock", - "bdrglobal_advisory_unlock": "/pgd/5/reference/functions#bdrglobal_advisory_unlock", - "bdrmonitor_group_versions": "/pgd/5/reference/functions#bdrmonitor_group_versions", - "bdrmonitor_group_raft": "/pgd/5/reference/functions#bdrmonitor_group_raft", - "bdrmonitor_local_replslots": "/pgd/5/reference/functions#bdrmonitor_local_replslots", - "bdrwal_sender_stats": "/pgd/5/reference/functions#bdrwal_sender_stats", - "bdrget_decoding_worker_stat": "/pgd/5/reference/functions#bdrget_decoding_worker_stat", - "bdrlag_control": "/pgd/5/reference/functions#bdrlag_control", - "bdris_camo_partner_connected": "/pgd/5/reference/functions#bdris_camo_partner_connected", - "bdris_camo_partner_ready": "/pgd/5/reference/functions#bdris_camo_partner_ready", - "bdrget_configured_camo_partner": "/pgd/5/reference/functions#bdrget_configured_camo_partner", - "bdrwait_for_camo_partner_queue": "/pgd/5/reference/functions#bdrwait_for_camo_partner_queue", - "bdrcamo_transactions_resolved": "/pgd/5/reference/functions#bdrcamo_transactions_resolved", - "bdrlogical_transaction_status": "/pgd/5/reference/functions#bdrlogical_transaction_status", - "bdradd_commit_scope": "/pgd/5/reference/functions#bdradd_commit_scope", - "bdrcreate_commit_scope": "/pgd/5/reference/functions#bdrcreate_commit_scope", - "bdralter_commit_scope": "/pgd/5/reference/functions#bdralter_commit_scope", - "bdrdrop_commit_scope": "/pgd/5/reference/functions#bdrdrop_commit_scope", - "bdrremove_commit_scope": "/pgd/5/reference/functions#bdrremove_commit_scope", - "bdrdefault_conflict_detection": "/pgd/5/reference/pgd-settings#bdrdefault_conflict_detection", - "bdrdefault_sequence_kind": "/pgd/5/reference/pgd-settings#bdrdefault_sequence_kind", - "bdrdefault_replica_identity": "/pgd/5/reference/pgd-settings#bdrdefault_replica_identity", - "bdrrole_replication": "/pgd/5/reference/pgd-settings#bdrrole_replication", - "bdrddl_locking": "/pgd/5/reference/pgd-settings#bdrddl_locking", - "bdrtruncate_locking": "/pgd/5/reference/pgd-settings#bdrtruncate_locking", - "bdrglobal_lock_max_locks": "/pgd/5/reference/pgd-settings#bdrglobal_lock_max_locks", - "bdrglobal_lock_timeout": "/pgd/5/reference/pgd-settings#bdrglobal_lock_timeout", - "bdrglobal_lock_statement_timeout": "/pgd/5/reference/pgd-settings#bdrglobal_lock_statement_timeout", - "bdrglobal_lock_idle_timeout": "/pgd/5/reference/pgd-settings#bdrglobal_lock_idle_timeout", - "bdrlock_table_locking": "/pgd/5/reference/pgd-settings#bdrlock_table_locking", - "bdrpredictive_checks": "/pgd/5/reference/pgd-settings#bdrpredictive_checks", - "bdrreplay_progress_frequency": "/pgd/5/reference/pgd-settings#bdrreplay_progress_frequency", - "bdrstandby_slot_names": "/pgd/5/reference/pgd-settings#bdrstandby_slot_names", - "bdrwriters_per_subscription": "/pgd/5/reference/pgd-settings#bdrwriters_per_subscription", - "bdrmax_writers_per_subscription": "/pgd/5/reference/pgd-settings#bdrmax_writers_per_subscription", - "bdrxact_replication": "/pgd/5/reference/pgd-settings#bdrxact_replication", - "bdrpermit_unsafe_commands": "/pgd/5/reference/pgd-settings#bdrpermit_unsafe_commands", - "bdrbatch_inserts": "/pgd/5/reference/pgd-settings#bdrbatch_inserts", - "bdrmaximum_clock_skew": "/pgd/5/reference/pgd-settings#bdrmaximum_clock_skew", - "bdrmaximum_clock_skew_action": "/pgd/5/reference/pgd-settings#bdrmaximum_clock_skew_action", - "bdraccept_connections": "/pgd/5/reference/pgd-settings#bdraccept_connections", - "bdrstandby_slots_min_confirmed": "/pgd/5/reference/pgd-settings#bdrstandby_slots_min_confirmed", - "bdrwriter_input_queue_size": "/pgd/5/reference/pgd-settings#bdrwriter_input_queue_size", - "bdrwriter_output_queue_size": "/pgd/5/reference/pgd-settings#bdrwriter_output_queue_size", - "bdrmin_worker_backoff_delay": "/pgd/5/reference/pgd-settings#bdrmin_worker_backoff_delay", - "bdrcrdt_raw_value": "/pgd/5/reference/pgd-settings#bdrcrdt_raw_value", - "bdrcommit_scope": "/pgd/5/reference/pgd-settings#bdrcommit_scope", - "bdrcamo_local_mode_delay": "/pgd/5/reference/pgd-settings#bdrcamo_local_mode_delay", - "bdrcamo_enable_client_warnings": "/pgd/5/reference/pgd-settings#bdrcamo_enable_client_warnings", - "bdrdefault_streaming_mode": "/pgd/5/reference/pgd-settings#bdrdefault_streaming_mode", - "bdrlag_control_max_commit_delay": "/pgd/5/reference/pgd-settings#bdrlag_control_max_commit_delay", - "bdrlag_control_max_lag_size": "/pgd/5/reference/pgd-settings#bdrlag_control_max_lag_size", - "bdrlag_control_max_lag_time": "/pgd/5/reference/pgd-settings#bdrlag_control_max_lag_time", - "bdrlag_control_min_conforming_nodes": "/pgd/5/reference/pgd-settings#bdrlag_control_min_conforming_nodes", - "bdrlag_control_commit_delay_adjust": "/pgd/5/reference/pgd-settings#bdrlag_control_commit_delay_adjust", - "bdrlag_control_sample_interval": "/pgd/5/reference/pgd-settings#bdrlag_control_sample_interval", - "bdrlag_control_commit_delay_start": "/pgd/5/reference/pgd-settings#bdrlag_control_commit_delay_start", - "bdrtimestamp_snapshot_keep": "/pgd/5/reference/pgd-settings#bdrtimestamp_snapshot_keep", - "bdrdebug_level": "/pgd/5/reference/pgd-settings#bdrdebug_level", - "bdrtrace_level": "/pgd/5/reference/pgd-settings#bdrtrace_level", - "bdrtrack_subscription_apply": "/pgd/5/reference/pgd-settings#bdrtrack_subscription_apply", - "bdrtrack_relation_apply": "/pgd/5/reference/pgd-settings#bdrtrack_relation_apply", - "bdrtrack_apply_lock_timing": "/pgd/5/reference/pgd-settings#bdrtrack_apply_lock_timing", - "bdrenable_wal_decoder": "/pgd/5/reference/pgd-settings#bdrenable_wal_decoder", - "bdrreceive_lcr": "/pgd/5/reference/pgd-settings#bdrreceive_lcr", - "bdrlcr_cleanup_interval": "/pgd/5/reference/pgd-settings#bdrlcr_cleanup_interval", - "bdrglobal_connection_timeout": "/pgd/5/reference/pgd-settings#bdrglobal_connection_timeout", - "bdrglobal_keepalives": "/pgd/5/reference/pgd-settings#bdrglobal_keepalives", - "bdrglobal_keepalives_idle": "/pgd/5/reference/pgd-settings#bdrglobal_keepalives_idle", - "bdrglobal_keepalives_interval": "/pgd/5/reference/pgd-settings#bdrglobal_keepalives_interval", - "bdrglobal_keepalives_count": "/pgd/5/reference/pgd-settings#bdrglobal_keepalives_count", - "bdrglobal_tcp_user_timeout": "/pgd/5/reference/pgd-settings#bdrglobal_tcp_user_timeout", - "bdrforce_full_mesh": "/pgd/5/reference/pgd-settings#bdrforce_full_mesh", - "bdrraft_global_election_timeout": "/pgd/5/reference/pgd-settings#bdrraft_global_election_timeout", - "bdrraft_group_election_timeout": "/pgd/5/reference/pgd-settings#bdrraft_group_election_timeout", - "bdrraft_response_timeout": "/pgd/5/reference/pgd-settings#bdrraft_response_timeout", - "bdrraft_keep_min_entries": "/pgd/5/reference/pgd-settings#bdrraft_keep_min_entries", - "bdrraft_log_min_apply_duration": "/pgd/5/reference/pgd-settings#bdrraft_log_min_apply_duration", - "bdrraft_log_min_message_duration": "/pgd/5/reference/pgd-settings#bdrraft_log_min_message_duration", - "bdrraft_group_max_connections": "/pgd/5/reference/pgd-settings#bdrraft_group_max_connections", - "bdrbackwards_compatibility": "/pgd/5/reference/pgd-settings#bdrbackwards_compatibility", - "bdrtrack_replication_estimates": "/pgd/5/reference/pgd-settings#bdrtrack_replication_estimates", - "bdrlag_tracker_apply_rate_weight": "/pgd/5/reference/pgd-settings#bdrlag_tracker_apply_rate_weight", - "bdrenable_auto_sync_reconcile": "/pgd/5/reference/pgd-settings#bdrenable_auto_sync_reconcile", - "list-of-node-states": "/pgd/5/reference/nodes#list-of-node-states", - "node-management-commands": "/pgd/5/reference/nodes#node-management-commands", - "bdr_init_physical": "/pgd/5/reference/nodes#bdr_init_physical", - "bdr_config": "/pgd/5/reference/nodes#bdr_config", - "bdralter_node_group_option": "/pgd/5/reference/nodes-management-interfaces#bdralter_node_group_option", - "bdralter_node_interface": "/pgd/5/reference/nodes-management-interfaces#bdralter_node_interface", - "bdralter_node_option": "/pgd/5/reference/nodes-management-interfaces#bdralter_node_option", - "bdralter_subscription_enable": "/pgd/5/reference/nodes-management-interfaces#bdralter_subscription_enable", - "bdralter_subscription_disable": "/pgd/5/reference/nodes-management-interfaces#bdralter_subscription_disable", - "bdrcreate_node": "/pgd/5/reference/nodes-management-interfaces#bdrcreate_node", - "bdrcreate_node_group": "/pgd/5/reference/nodes-management-interfaces#bdrcreate_node_group", - "bdrdrop_node_group": "/pgd/5/reference/nodes-management-interfaces#bdrdrop_node_group", - "bdrjoin_node_group": "/pgd/5/reference/nodes-management-interfaces#bdrjoin_node_group", - "bdrpart_node": "/pgd/5/reference/nodes-management-interfaces#bdrpart_node", - "bdrpromote_node": "/pgd/5/reference/nodes-management-interfaces#bdrpromote_node", - "bdrswitch_node_group": "/pgd/5/reference/nodes-management-interfaces#bdrswitch_node_group", - "bdrwait_for_join_completion": "/pgd/5/reference/nodes-management-interfaces#bdrwait_for_join_completion", - "bdralter_node_group_config": "/pgd/5/reference/nodes-management-interfaces#bdralter_node_group_config", - "bdrcreate_proxy": "/pgd/5/reference/routing#bdrcreate_proxy", - "bdralter_proxy_option": "/pgd/5/reference/routing#bdralter_proxy_option", - "bdrdrop_proxy": "/pgd/5/reference/routing#bdrdrop_proxy", - "bdrrouting_leadership_transfer": "/pgd/5/reference/routing#bdrrouting_leadership_transfer", - "cs.commit-scope-syntax": "/pgd/5/reference/commit-scopes#commit-scope-syntax", - "cs.commit_scope_degrade_operation": "/pgd/5/reference/commit-scopes#commit_scope_degrade_operation", - "cs.commit-scope-targets": "/pgd/5/reference/commit-scopes#commit-scope-targets", - "cs.origin_group": "/pgd/5/reference/commit-scopes#origin_group", - "cs.commit-scope-groups": "/pgd/5/reference/commit-scopes#commit-scope-groups", - "cs.any": "/pgd/5/reference/commit-scopes#any", - "cs.any-not": "/pgd/5/reference/commit-scopes#any-not", - "cs.majority": "/pgd/5/reference/commit-scopes#majority", - "cs.majority-not": "/pgd/5/reference/commit-scopes#majority-not", - "cs.all": "/pgd/5/reference/commit-scopes#all", - "cs.all-not": "/pgd/5/reference/commit-scopes#all-not", - "cs.confirmation-level": "/pgd/5/reference/commit-scopes#confirmation-level", - "cs.on-received": "/pgd/5/reference/commit-scopes#on-received", - "cs.on-replicated": "/pgd/5/reference/commit-scopes#on-replicated", - "cs.on-durable": "/pgd/5/reference/commit-scopes#on-durable", - "cs.on-visible": "/pgd/5/reference/commit-scopes#on-visible", - "cs.commit-scope-kinds": "/pgd/5/reference/commit-scopes#commit-scope-kinds", - "cs.synchronous-commit": "/pgd/5/reference/commit-scopes#synchronous-commit", - "cs.degrade-on-parameters": "/pgd/5/reference/commit-scopes#degrade-on-parameters", - "cs.group-commit": "/pgd/5/reference/commit-scopes#group-commit", - "cs.group-commit-parameters": "/pgd/5/reference/commit-scopes#group-commit-parameters", - "cs.abort-on-parameters": "/pgd/5/reference/commit-scopes#abort-on-parameters", - "cs.transaction_tracking-settings": "/pgd/5/reference/commit-scopes#transaction_tracking-settings", - "cs.conflict_resolution-settings": "/pgd/5/reference/commit-scopes#conflict_resolution-settings", - "cs.commit_decision-settings": "/pgd/5/reference/commit-scopes#commit_decision-settings", - "cs.commit_scope_degrade_operation-settings": "/pgd/5/reference/commit-scopes#commit_scope_degrade_operation-settings", - "cs.camo": "/pgd/5/reference/commit-scopes#camo", - "cs.lag-control": "/pgd/5/reference/commit-scopes#lag-control", - "cs.lag-control-parameters": "/pgd/5/reference/commit-scopes#lag-control-parameters", - "conflict-detection": "/pgd/5/reference/conflicts#conflict-detection", - "list-of-conflict-types": "/pgd/5/reference/conflicts#list-of-conflict-types", - "conflict-resolution": "/pgd/5/reference/conflicts#conflict-resolution", - "list-of-conflict-resolvers": "/pgd/5/reference/conflicts#list-of-conflict-resolvers", - "default-conflict-resolvers": "/pgd/5/reference/conflicts#default-conflict-resolvers", - "list-of-conflict-resolutions": "/pgd/5/reference/conflicts#list-of-conflict-resolutions", - "conflict-logging": "/pgd/5/reference/conflicts#conflict-logging", - "bdralter_table_conflict_detection": "/pgd/5/reference/conflict_functions#bdralter_table_conflict_detection", - "bdralter_node_set_conflict_resolver": "/pgd/5/reference/conflict_functions#bdralter_node_set_conflict_resolver", - "bdralter_node_set_log_config": "/pgd/5/reference/conflict_functions#bdralter_node_set_log_config", - "bdrcreate_replication_set": "/pgd/5/reference/repsets-management#bdrcreate_replication_set", - "bdralter_replication_set": "/pgd/5/reference/repsets-management#bdralter_replication_set", - "bdrdrop_replication_set": "/pgd/5/reference/repsets-management#bdrdrop_replication_set", - "bdralter_node_replication_sets": "/pgd/5/reference/repsets-management#bdralter_node_replication_sets", - "bdrreplication_set_add_table": "/pgd/5/reference/repsets-membership#bdrreplication_set_add_table", - "bdrreplication_set_remove_table": "/pgd/5/reference/repsets-membership#bdrreplication_set_remove_table", - "bdrreplication_set_add_ddl_filter": "/pgd/5/reference/repsets-ddl-filtering#bdrreplication_set_add_ddl_filter", - "bdrreplication_set_remove_ddl_filter": "/pgd/5/reference/repsets-ddl-filtering#bdrreplication_set_remove_ddl_filter", - "pgd_bench": "/pgd/5/reference/testingandtuning#pgd_bench", - "bdralter_sequence_set_kind": "/pgd/5/reference/sequences#bdralter_sequence_set_kind", - "bdrextract_timestamp_from_snowflakeid": "/pgd/5/reference/sequences#bdrextract_timestamp_from_snowflakeid", - "bdrextract_nodeid_from_snowflakeid": "/pgd/5/reference/sequences#bdrextract_nodeid_from_snowflakeid", - "bdrextract_localseqid_from_snowflakeid": "/pgd/5/reference/sequences#bdrextract_localseqid_from_snowflakeid", - "bdrtimestamp_to_snowflakeid": "/pgd/5/reference/sequences#bdrtimestamp_to_snowflakeid", - "bdrextract_timestamp_from_timeshard": "/pgd/5/reference/sequences#bdrextract_timestamp_from_timeshard", - "bdrextract_nodeid_from_timeshard": "/pgd/5/reference/sequences#bdrextract_nodeid_from_timeshard", - "bdrextract_localseqid_from_timeshard": "/pgd/5/reference/sequences#bdrextract_localseqid_from_timeshard", - "bdrtimestamp_to_timeshard": "/pgd/5/reference/sequences#bdrtimestamp_to_timeshard", - "bdrgen_ksuuid_v2": "/pgd/5/reference/sequences#bdrgen_ksuuid_v2", - "bdrksuuid_v2_cmp": "/pgd/5/reference/sequences#bdrksuuid_v2_cmp", - "bdrextract_timestamp_from_ksuuid_v2": "/pgd/5/reference/sequences#bdrextract_timestamp_from_ksuuid_v2", - "bdrgen_ksuuid": "/pgd/5/reference/sequences#bdrgen_ksuuid", - "bdruuid_v1_cmp": "/pgd/5/reference/sequences#bdruuid_v1_cmp", - "bdrextract_timestamp_from_ksuuid": "/pgd/5/reference/sequences#bdrextract_timestamp_from_ksuuid", - "bdrautopartition": "/pgd/5/reference/autopartition#bdrautopartition", - "bdrdrop_autopartition": "/pgd/5/reference/autopartition#bdrdrop_autopartition", - "bdrautopartition_wait_for_partitions": "/pgd/5/reference/autopartition#bdrautopartition_wait_for_partitions", - "bdrautopartition_wait_for_partitions_on_all_nodes": "/pgd/5/reference/autopartition#bdrautopartition_wait_for_partitions_on_all_nodes", - "bdrautopartition_find_partition": "/pgd/5/reference/autopartition#bdrautopartition_find_partition", - "bdrautopartition_enable": "/pgd/5/reference/autopartition#bdrautopartition_enable", - "bdrautopartition_disable": "/pgd/5/reference/autopartition#bdrautopartition_disable", - "internal-functions": "/pgd/5/reference/autopartition#internal-functions", - "bdrautopartition_create_partition": "/pgd/5/reference/autopartition#bdrautopartition_create_partition", - "bdrautopartition_drop_partition": "/pgd/5/reference/autopartition#bdrautopartition_drop_partition", - "bdrcreate_conflict_trigger": "/pgd/5/reference/streamtriggers/interfaces#bdrcreate_conflict_trigger", - "bdrcreate_transform_trigger": "/pgd/5/reference/streamtriggers/interfaces#bdrcreate_transform_trigger", - "bdrdrop_trigger": "/pgd/5/reference/streamtriggers/interfaces#bdrdrop_trigger", - "bdrtrigger_get_row": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_row", - "bdrtrigger_get_committs": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_committs", - "bdrtrigger_get_xid": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_xid", - "bdrtrigger_get_type": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_type", - "bdrtrigger_get_conflict_type": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_conflict_type", - "bdrtrigger_get_origin_node_id": "/pgd/5/reference/streamtriggers/rowfunctions#bdrtrigger_get_origin_node_id", - "bdrri_fkey_on_del_trigger": "/pgd/5/reference/streamtriggers/rowfunctions#bdrri_fkey_on_del_trigger", - "tg_name": "/pgd/5/reference/streamtriggers/rowvariables#tg_name", - "tg_when": "/pgd/5/reference/streamtriggers/rowvariables#tg_when", - "tg_level": "/pgd/5/reference/streamtriggers/rowvariables#tg_level", - "tg_op": "/pgd/5/reference/streamtriggers/rowvariables#tg_op", - "tg_relid": "/pgd/5/reference/streamtriggers/rowvariables#tg_relid", - "tg_table_name": "/pgd/5/reference/streamtriggers/rowvariables#tg_table_name", - "tg_table_schema": "/pgd/5/reference/streamtriggers/rowvariables#tg_table_schema", - "tg_nargs": "/pgd/5/reference/streamtriggers/rowvariables#tg_nargs", - "tg_argv": "/pgd/5/reference/streamtriggers/rowvariables#tg_argv", - "bdrautopartition_partitions": "/pgd/5/reference/catalogs-internal#bdrautopartition_partitions", - "bdrautopartition_rules": "/pgd/5/reference/catalogs-internal#bdrautopartition_rules", - "bdrddl_epoch": "/pgd/5/reference/catalogs-internal#bdrddl_epoch", - "bdrevent_history": "/pgd/5/reference/catalogs-internal#bdrevent_history", - "bdrevent_summary": "/pgd/5/reference/catalogs-internal#bdrevent_summary", - "bdrlocal_leader_change": "/pgd/5/reference/catalogs-internal#bdrlocal_leader_change", - "bdrnode_config": "/pgd/5/reference/catalogs-internal#bdrnode_config", - "bdrnode_config_summary": "/pgd/5/reference/catalogs-internal#bdrnode_config_summary", - "bdrnode_group_config": "/pgd/5/reference/catalogs-internal#bdrnode_group_config", - "bdrnode_group_routing_config_summary": "/pgd/5/reference/catalogs-internal#bdrnode_group_routing_config_summary", - "bdrnode_group_routing_info": "/pgd/5/reference/catalogs-internal#bdrnode_group_routing_info", - "bdrnode_group_routing_summary": "/pgd/5/reference/catalogs-internal#bdrnode_group_routing_summary", - "bdrnode_routing_config_summary": "/pgd/5/reference/catalogs-internal#bdrnode_routing_config_summary", - "bdrproxy_config": "/pgd/5/reference/catalogs-internal#bdrproxy_config", - "bdrproxy_config_summary": "/pgd/5/reference/catalogs-internal#bdrproxy_config_summary", - "bdrsequence_kind": "/pgd/5/reference/catalogs-internal#bdrsequence_kind", - "bdrsync_node_requests": "/pgd/5/reference/catalogs-internal#bdrsync_node_requests", - "bdrsync_node_requests_summary": "/pgd/5/reference/catalogs-internal#bdrsync_node_requests_summary", - "bdrbdr_get_commit_decisions": "/pgd/5/reference/functions-internal#bdrbdr_get_commit_decisions", - "bdrbdr_track_commit_decision": "/pgd/5/reference/functions-internal#bdrbdr_track_commit_decision", - "bdrconsensus_kv_fetch": "/pgd/5/reference/functions-internal#bdrconsensus_kv_fetch", - "bdrconsensus_kv_store": "/pgd/5/reference/functions-internal#bdrconsensus_kv_store", - "bdrdecode_message_payload": "/pgd/5/reference/functions-internal#bdrdecode_message_payload", - "bdrdecode_message_response_payload": "/pgd/5/reference/functions-internal#bdrdecode_message_response_payload", - "bdrdifference_fix_origin_create": "/pgd/5/reference/functions-internal#bdrdifference_fix_origin_create", - "bdrdifference_fix_session_reset": "/pgd/5/reference/functions-internal#bdrdifference_fix_session_reset", - "bdrdifference_fix_session_setup": "/pgd/5/reference/functions-internal#bdrdifference_fix_session_setup", - "bdrdifference_fix_xact_set_avoid_conflict": "/pgd/5/reference/functions-internal#bdrdifference_fix_xact_set_avoid_conflict", - "bdrdrop_node": "/pgd/5/reference/functions-internal#bdrdrop_node", - "bdrget_global_locks": "/pgd/5/reference/functions-internal#bdrget_global_locks", - "bdrget_node_conflict_resolvers": "/pgd/5/reference/functions-internal#bdrget_node_conflict_resolvers", - "bdrget_slot_flush_timestamp": "/pgd/5/reference/functions-internal#bdrget_slot_flush_timestamp", - "bdrinternal_alter_sequence_set_kind": "/pgd/5/reference/functions-internal#bdrinternal_alter_sequence_set_kind", - "bdrinternal_replication_set_add_table": "/pgd/5/reference/functions-internal#bdrinternal_replication_set_add_table", - "bdrinternal_replication_set_remove_table": "/pgd/5/reference/functions-internal#bdrinternal_replication_set_remove_table", - "bdrinternal_submit_join_request": "/pgd/5/reference/functions-internal#bdrinternal_submit_join_request", - "bdrisolation_test_session_is_blocked": "/pgd/5/reference/functions-internal#bdrisolation_test_session_is_blocked", - "bdrlocal_node_info": "/pgd/5/reference/functions-internal#bdrlocal_node_info", - "bdrmsgb_connect": "/pgd/5/reference/functions-internal#bdrmsgb_connect", - "bdrmsgb_deliver_message": "/pgd/5/reference/functions-internal#bdrmsgb_deliver_message", - "bdrnode_catchup_state_name": "/pgd/5/reference/functions-internal#bdrnode_catchup_state_name", - "bdrnode_kind_name": "/pgd/5/reference/functions-internal#bdrnode_kind_name", - "bdrpeer_state_name": "/pgd/5/reference/functions-internal#bdrpeer_state_name", - "bdrpg_xact_origin": "/pgd/5/reference/functions-internal#bdrpg_xact_origin", - "bdrrequest_replay_progress_update": "/pgd/5/reference/functions-internal#bdrrequest_replay_progress_update", - "bdrreset_relation_stats": "/pgd/5/reference/functions-internal#bdrreset_relation_stats", - "bdrreset_subscription_stats": "/pgd/5/reference/functions-internal#bdrreset_subscription_stats", - "bdrresynchronize_table_from_node": "/pgd/5/reference/functions-internal#bdrresynchronize_table_from_node", - "bdrseq_currval": "/pgd/5/reference/functions-internal#bdrseq_currval", - "bdrseq_lastval": "/pgd/5/reference/functions-internal#bdrseq_lastval", - "bdrseq_nextval": "/pgd/5/reference/functions-internal#bdrseq_nextval", - "bdrshow_subscription_status": "/pgd/5/reference/functions-internal#bdrshow_subscription_status", - "bdrshow_workers": "/pgd/5/reference/functions-internal#bdrshow_workers", - "bdrshow_writers": "/pgd/5/reference/functions-internal#bdrshow_writers", - "bdrsync_status_name": "/pgd/5/reference/functions-internal#bdrsync_status_name", - "bdrtaskmgr_set_leader": "/pgd/5/reference/functions-internal#bdrtaskmgr_set_leader", - "bdrtaskmgr_get_last_completed_workitem": "/pgd/5/reference/functions-internal#bdrtaskmgr_get_last_completed_workitem", - "bdrtaskmgr_work_queue_check_status": "/pgd/5/reference/functions-internal#bdrtaskmgr_work_queue_check_status", - "bdrpglogical_proto_version_ranges": "/pgd/5/reference/functions-internal#bdrpglogical_proto_version_ranges", - "bdrget_min_required_replication_slots": "/pgd/5/reference/functions-internal#bdrget_min_required_replication_slots", - "bdrget_min_required_worker_processes": "/pgd/5/reference/functions-internal#bdrget_min_required_worker_processes", - "bdrstat_get_activity": "/pgd/5/reference/functions-internal#bdrstat_get_activity", - "bdrworker_role_id_name": "/pgd/5/reference/functions-internal#bdrworker_role_id_name", - "bdrlag_history": "/pgd/5/reference/functions-internal#bdrlag_history", - "bdrget_raft_instance_by_nodegroup": "/pgd/5/reference/functions-internal#bdrget_raft_instance_by_nodegroup", - "bdrmonitor_camo_on_all_nodes": "/pgd/5/reference/functions-internal#bdrmonitor_camo_on_all_nodes", - "bdrmonitor_raft_details_on_all_nodes": "/pgd/5/reference/functions-internal#bdrmonitor_raft_details_on_all_nodes", - "bdrmonitor_replslots_details_on_all_nodes": "/pgd/5/reference/functions-internal#bdrmonitor_replslots_details_on_all_nodes", - "bdrmonitor_subscription_details_on_all_nodes": "/pgd/5/reference/functions-internal#bdrmonitor_subscription_details_on_all_nodes", - "bdrmonitor_version_details_on_all_nodes": "/pgd/5/reference/functions-internal#bdrmonitor_version_details_on_all_nodes", - "bdrnode_group_member_info": "/pgd/5/reference/functions-internal#bdrnode_group_member_info", - "bdrcolumn_timestamps_create": "/pgd/5/reference/clcd#bdrcolumn_timestamps_create" + "bdrcamo_decision_journal": "/pgd/6.0/reference/catalogs-visible#bdrcamo_decision_journal", + "bdrcommit_scopes": "/pgd/6.0/reference/catalogs-visible#bdrcommit_scopes", + "bdrconflict_history": "/pgd/6.0/reference/catalogs-visible#bdrconflict_history", + "bdrconflict_history_summary": "/pgd/6.0/reference/catalogs-visible#bdrconflict_history_summary", + "bdrconsensus_kv_data": "/pgd/6.0/reference/catalogs-visible#bdrconsensus_kv_data", + "bdrcrdt_handlers": "/pgd/6.0/reference/catalogs-visible#bdrcrdt_handlers", + "bdrddl_replication": "/pgd/6.0/reference/pgd-settings#bdrddl_replication", + "bdrdepend": "/pgd/6.0/reference/catalogs-visible#bdrdepend", + "bdrfailover_replication_slots": "/pgd/6.0/reference/catalogs-visible#bdrfailover_replication_slots", + "bdrglobal_consensus_journal": "/pgd/6.0/reference/catalogs-visible#bdrglobal_consensus_journal", + "bdrglobal_consensus_journal_details": "/pgd/6.0/reference/catalogs-visible#bdrglobal_consensus_journal_details", + "bdrglobal_consensus_response_journal": "/pgd/6.0/reference/catalogs-visible#bdrglobal_consensus_response_journal", + "bdrglobal_lock": "/pgd/6.0/reference/catalogs-visible#bdrglobal_lock", + "bdrglobal_locks": "/pgd/6.0/reference/catalogs-visible#bdrglobal_locks", + "bdrgroup_camo_details": "/pgd/6.0/reference/catalogs-visible#bdrgroup_camo_details", + "bdrgroup_raft_details": "/pgd/6.0/reference/catalogs-visible#bdrgroup_raft_details", + "bdrgroup_replslots_details": "/pgd/6.0/reference/catalogs-visible#bdrgroup_replslots_details", + "bdrgroup_subscription_summary": "/pgd/6.0/reference/catalogs-visible#bdrgroup_subscription_summary", + "bdrgroup_versions_details": "/pgd/6.0/reference/catalogs-visible#bdrgroup_versions_details", + "bdrleader": "/pgd/6.0/reference/catalogs-visible#bdrleader", + "bdrlocal_consensus_snapshot": "/pgd/6.0/reference/catalogs-visible#bdrlocal_consensus_snapshot", + "bdrlocal_consensus_state": "/pgd/6.0/reference/catalogs-visible#bdrlocal_consensus_state", + "bdrlocal_node": "/pgd/6.0/reference/catalogs-visible#bdrlocal_node", + "bdrlocal_node_summary": "/pgd/6.0/reference/catalogs-visible#bdrlocal_node_summary", + "bdrlocal_sync_status": "/pgd/6.0/reference/catalogs-visible#bdrlocal_sync_status", + "bdrnode": "/pgd/6.0/reference/catalogs-visible#bdrnode", + "bdrnode_catchup_info": "/pgd/6.0/reference/catalogs-visible#bdrnode_catchup_info", + "bdrnode_catchup_info_details": "/pgd/6.0/reference/catalogs-visible#bdrnode_catchup_info_details", + "bdrnode_conflict_resolvers": "/pgd/6.0/reference/catalogs-visible#bdrnode_conflict_resolvers", + "bdrnode_group": "/pgd/6.0/reference/catalogs-visible#bdrnode_group", + "bdrnode_group_replication_sets": "/pgd/6.0/reference/catalogs-visible#bdrnode_group_replication_sets", + "bdrnode_group_summary": "/pgd/6.0/reference/catalogs-visible#bdrnode_group_summary", + "bdrnode_local_info": "/pgd/6.0/reference/catalogs-visible#bdrnode_local_info", + "bdrnode_log_config": "/pgd/6.0/reference/catalogs-visible#bdrnode_log_config", + "bdrnode_peer_progress": "/pgd/6.0/reference/catalogs-visible#bdrnode_peer_progress", + "bdrnode_replication_rates": "/pgd/6.0/reference/catalogs-visible#bdrnode_replication_rates", + "bdrnode_slots": "/pgd/6.0/reference/catalogs-visible#bdrnode_slots", + "bdrnode_summary": "/pgd/6.0/reference/catalogs-visible#bdrnode_summary", + "bdrqueue": "/pgd/6.0/reference/catalogs-visible#bdrqueue", + "bdrreplication_set": "/pgd/6.0/reference/catalogs-visible#bdrreplication_set", + "bdrreplication_set_table": "/pgd/6.0/reference/catalogs-visible#bdrreplication_set_table", + "bdrreplication_set_ddl": "/pgd/6.0/reference/catalogs-visible#bdrreplication_set_ddl", + "bdrreplication_sets": "/pgd/6.0/reference/catalogs-visible#bdrreplication_sets", + "bdrschema_changes": "/pgd/6.0/reference/catalogs-visible#bdrschema_changes", + "bdrsequence_alloc": "/pgd/6.0/reference/catalogs-visible#bdrsequence_alloc", + "bdrsequences": "/pgd/6.0/reference/catalogs-visible#bdrsequences", + "bdrstat_activity": "/pgd/6.0/reference/catalogs-visible#bdrstat_activity", + "bdrstat_activity-additional-columns": "/pgd/6.0/reference/catalogs-visible#bdrstat_activity-additional-columns", + "bdrstat_commit_scope": "/pgd/6.0/reference/catalogs-visible#bdrstat_commit_scope", + "bdrstat_commit_scope_state": "/pgd/6.0/reference/catalogs-visible#bdrstat_commit_scope_state", + "bdrstat_connection_manager": "/pgd/6.0/reference/catalogs-visible#bdrstat_connection_manager", + "bdrstat_connection_manager_connections": "/pgd/6.0/reference/catalogs-visible#bdrstat_connection_manager_connections", + "bdrstat_connection_manager_node_stats": "/pgd/6.0/reference/catalogs-visible#bdrstat_connection_manager_node_stats", + "bdrstat_connection_manager_hba_file_rules": "/pgd/6.0/reference/catalogs-visible#bdrstat_connection_manager_hba_file_rules", + "bdrstat_raft_followers_state": "/pgd/6.0/reference/catalogs-visible#bdrstat_raft_followers_state", + "bdrstat_raft_state": "/pgd/6.0/reference/catalogs-visible#bdrstat_raft_state", + "bdrstat_receiver": "/pgd/6.0/reference/catalogs-visible#bdrstat_receiver", + "bdrstat_relation": "/pgd/6.0/reference/catalogs-visible#bdrstat_relation", + "bdrstat_routing_candidate_state": "/pgd/6.0/reference/catalogs-visible#bdrstat_routing_candidate_state", + "bdrstat_routing_state": "/pgd/6.0/reference/catalogs-visible#bdrstat_routing_state", + "bdrstat_subscription": "/pgd/6.0/reference/catalogs-visible#bdrstat_subscription", + "bdrstat_worker": "/pgd/6.0/reference/catalogs-visible#bdrstat_worker", + "bdrstat_writer": "/pgd/6.0/reference/catalogs-visible#bdrstat_writer", + "bdrsubscription": "/pgd/6.0/reference/catalogs-visible#bdrsubscription", + "bdrsubscription_summary": "/pgd/6.0/reference/catalogs-visible#bdrsubscription_summary", + "bdrtables": "/pgd/6.0/reference/catalogs-visible#bdrtables", + "bdrtaskmgr_work_queue": "/pgd/6.0/reference/catalogs-visible#bdrtaskmgr_work_queue", + "bdrtaskmgr_workitem_status": "/pgd/6.0/reference/catalogs-visible#bdrtaskmgr_workitem_status", + "bdrtaskmgr_local_work_queue": "/pgd/6.0/reference/catalogs-visible#bdrtaskmgr_local_work_queue", + "bdrtaskmgr_local_workitem_status": "/pgd/6.0/reference/catalogs-visible#bdrtaskmgr_local_workitem_status", + "bdrtrigger": "/pgd/6.0/reference/catalogs-visible#bdrtrigger", + "bdrtriggers": "/pgd/6.0/reference/catalogs-visible#bdrtriggers", + "bdrworkers": "/pgd/6.0/reference/catalogs-visible#bdrworkers", + "bdrwriters": "/pgd/6.0/reference/catalogs-visible#bdrwriters", + "bdrworker_tasks": "/pgd/6.0/reference/catalogs-visible#bdrworker_tasks", + "bdrbdr_version": "/pgd/6.0/reference/functions#bdrbdr_version", + "bdrbdr_version_num": "/pgd/6.0/reference/functions#bdrbdr_version_num", + "bdrget_relation_stats": "/pgd/6.0/reference/functions#bdrget_relation_stats", + "bdrget_subscription_stats": "/pgd/6.0/reference/functions#bdrget_subscription_stats", + "bdrlocal_node_id": "/pgd/6.0/reference/functions#bdrlocal_node_id", + "bdrlast_committed_lsn": "/pgd/6.0/reference/functions#bdrlast_committed_lsn", + "transaction_id": "/pgd/6.0/reference/functions#transaction_id", + "bdris_node_connected": "/pgd/6.0/reference/functions#bdris_node_connected", + "bdris_node_ready": "/pgd/6.0/reference/functions#bdris_node_ready", + "bdrconsensus_disable": "/pgd/6.0/reference/functions#bdrconsensus_disable", + "bdrconsensus_enable": "/pgd/6.0/reference/functions#bdrconsensus_enable", + "bdrconsensus_proto_version": "/pgd/6.0/reference/functions#bdrconsensus_proto_version", + "bdrconsensus_snapshot_export": "/pgd/6.0/reference/functions#bdrconsensus_snapshot_export", + "bdrconsensus_snapshot_import": "/pgd/6.0/reference/functions#bdrconsensus_snapshot_import", + "bdrconsensus_snapshot_verify": "/pgd/6.0/reference/functions#bdrconsensus_snapshot_verify", + "bdrget_consensus_status": "/pgd/6.0/reference/functions#bdrget_consensus_status", + "bdrget_raft_status": "/pgd/6.0/reference/functions#bdrget_raft_status", + "bdrraft_leadership_transfer": "/pgd/6.0/reference/functions#bdrraft_leadership_transfer", + "bdrwait_slot_confirm_lsn": "/pgd/6.0/reference/functions#bdrwait_slot_confirm_lsn", + "bdrwait_node_confirm_lsn": "/pgd/6.0/reference/functions#bdrwait_node_confirm_lsn", + "bdrwait_for_apply_queue": "/pgd/6.0/reference/functions#bdrwait_for_apply_queue", + "bdrget_node_sub_receive_lsn": "/pgd/6.0/reference/functions#bdrget_node_sub_receive_lsn", + "bdrget_node_sub_apply_lsn": "/pgd/6.0/reference/functions#bdrget_node_sub_apply_lsn", + "bdrreplicate_ddl_command": "/pgd/6.0/reference/functions#bdrreplicate_ddl_command", + "bdrrun_on_all_nodes": "/pgd/6.0/reference/functions#bdrrun_on_all_nodes", + "bdrrun_on_nodes": "/pgd/6.0/reference/functions#bdrrun_on_nodes", + "bdrrun_on_group": "/pgd/6.0/reference/functions#bdrrun_on_group", + "bdrglobal_lock_table": "/pgd/6.0/reference/functions#bdrglobal_lock_table", + "bdrwait_for_xid_progress": "/pgd/6.0/reference/functions#bdrwait_for_xid_progress", + "bdrlocal_group_slot_name": "/pgd/6.0/reference/functions#bdrlocal_group_slot_name", + "bdrnode_group_type": "/pgd/6.0/reference/functions#bdrnode_group_type", + "bdralter_node_kind": "/pgd/6.0/reference/functions#bdralter_node_kind", + "bdralter_subscription_skip_changes_upto": "/pgd/6.0/reference/functions#bdralter_subscription_skip_changes_upto", + "bdrglobal_advisory_lock": "/pgd/6.0/reference/functions#bdrglobal_advisory_lock", + "bdrglobal_advisory_unlock": "/pgd/6.0/reference/functions#bdrglobal_advisory_unlock", + "bdrmonitor_group_versions": "/pgd/6.0/reference/functions#bdrmonitor_group_versions", + "bdrmonitor_group_raft": "/pgd/6.0/reference/functions#bdrmonitor_group_raft", + "bdrmonitor_local_replslots": "/pgd/6.0/reference/functions#bdrmonitor_local_replslots", + "bdrwal_sender_stats": "/pgd/6.0/reference/functions#bdrwal_sender_stats", + "bdrget_decoding_worker_stat": "/pgd/6.0/reference/functions#bdrget_decoding_worker_stat", + "bdrlag_control": "/pgd/6.0/reference/functions#bdrlag_control", + "bdris_camo_partner_connected": "/pgd/6.0/reference/functions#bdris_camo_partner_connected", + "bdris_camo_partner_ready": "/pgd/6.0/reference/functions#bdris_camo_partner_ready", + "bdrget_configured_camo_partner": "/pgd/6.0/reference/functions#bdrget_configured_camo_partner", + "bdrwait_for_camo_partner_queue": "/pgd/6.0/reference/functions#bdrwait_for_camo_partner_queue", + "bdrcamo_transactions_resolved": "/pgd/6.0/reference/functions#bdrcamo_transactions_resolved", + "bdrlogical_transaction_status": "/pgd/6.0/reference/functions#bdrlogical_transaction_status", + "bdradd_commit_scope": "/pgd/6.0/reference/functions#bdradd_commit_scope", + "bdrcreate_commit_scope": "/pgd/6.0/reference/functions#bdrcreate_commit_scope", + "bdralter_commit_scope": "/pgd/6.0/reference/functions#bdralter_commit_scope", + "bdrdrop_commit_scope": "/pgd/6.0/reference/functions#bdrdrop_commit_scope", + "bdrremove_commit_scope": "/pgd/6.0/reference/functions#bdrremove_commit_scope", + "bdrdefault_conflict_detection": "/pgd/6.0/reference/pgd-settings#bdrdefault_conflict_detection", + "bdrdefault_sequence_kind": "/pgd/6.0/reference/pgd-settings#bdrdefault_sequence_kind", + "bdrdefault_replica_identity": "/pgd/6.0/reference/pgd-settings#bdrdefault_replica_identity", + "bdrrole_replication": "/pgd/6.0/reference/pgd-settings#bdrrole_replication", + "bdrddl_locking": "/pgd/6.0/reference/pgd-settings#bdrddl_locking", + "bdrtruncate_locking": "/pgd/6.0/reference/pgd-settings#bdrtruncate_locking", + "bdrglobal_lock_max_locks": "/pgd/6.0/reference/pgd-settings#bdrglobal_lock_max_locks", + "bdrglobal_lock_timeout": "/pgd/6.0/reference/pgd-settings#bdrglobal_lock_timeout", + "bdrglobal_lock_statement_timeout": "/pgd/6.0/reference/pgd-settings#bdrglobal_lock_statement_timeout", + "bdrglobal_lock_idle_timeout": "/pgd/6.0/reference/pgd-settings#bdrglobal_lock_idle_timeout", + "bdrlock_table_locking": "/pgd/6.0/reference/pgd-settings#bdrlock_table_locking", + "bdrpredictive_checks": "/pgd/6.0/reference/pgd-settings#bdrpredictive_checks", + "bdrreplay_progress_frequency": "/pgd/6.0/reference/pgd-settings#bdrreplay_progress_frequency", + "bdrstandby_slot_names": "/pgd/6.0/reference/pgd-settings#bdrstandby_slot_names", + "bdrwriters_per_subscription": "/pgd/6.0/reference/pgd-settings#bdrwriters_per_subscription", + "bdrmax_writers_per_subscription": "/pgd/6.0/reference/pgd-settings#bdrmax_writers_per_subscription", + "bdrxact_replication": "/pgd/6.0/reference/pgd-settings#bdrxact_replication", + "bdrpermit_unsafe_commands": "/pgd/6.0/reference/pgd-settings#bdrpermit_unsafe_commands", + "bdrbatch_inserts": "/pgd/6.0/reference/pgd-settings#bdrbatch_inserts", + "bdrmaximum_clock_skew": "/pgd/6.0/reference/pgd-settings#bdrmaximum_clock_skew", + "bdrmaximum_clock_skew_action": "/pgd/6.0/reference/pgd-settings#bdrmaximum_clock_skew_action", + "bdraccept_connections": "/pgd/6.0/reference/pgd-settings#bdraccept_connections", + "bdrstandby_slots_min_confirmed": "/pgd/6.0/reference/pgd-settings#bdrstandby_slots_min_confirmed", + "bdrwriter_input_queue_size": "/pgd/6.0/reference/pgd-settings#bdrwriter_input_queue_size", + "bdrwriter_output_queue_size": "/pgd/6.0/reference/pgd-settings#bdrwriter_output_queue_size", + "bdrmin_worker_backoff_delay": "/pgd/6.0/reference/pgd-settings#bdrmin_worker_backoff_delay", + "bdrcrdt_raw_value": "/pgd/6.0/reference/pgd-settings#bdrcrdt_raw_value", + "bdrcommit_scope": "/pgd/6.0/reference/pgd-settings#bdrcommit_scope", + "bdrcamo_local_mode_delay": "/pgd/6.0/reference/pgd-settings#bdrcamo_local_mode_delay", + "bdrcamo_enable_client_warnings": "/pgd/6.0/reference/pgd-settings#bdrcamo_enable_client_warnings", + "bdrdefault_streaming_mode": "/pgd/6.0/reference/pgd-settings#bdrdefault_streaming_mode", + "bdrlag_control_max_commit_delay": "/pgd/6.0/reference/pgd-settings#bdrlag_control_max_commit_delay", + "bdrlag_control_max_lag_size": "/pgd/6.0/reference/pgd-settings#bdrlag_control_max_lag_size", + "bdrlag_control_max_lag_time": "/pgd/6.0/reference/pgd-settings#bdrlag_control_max_lag_time", + "bdrlag_control_min_conforming_nodes": "/pgd/6.0/reference/pgd-settings#bdrlag_control_min_conforming_nodes", + "bdrlag_control_commit_delay_adjust": "/pgd/6.0/reference/pgd-settings#bdrlag_control_commit_delay_adjust", + "bdrlag_control_sample_interval": "/pgd/6.0/reference/pgd-settings#bdrlag_control_sample_interval", + "bdrlag_control_commit_delay_start": "/pgd/6.0/reference/pgd-settings#bdrlag_control_commit_delay_start", + "bdrtimestamp_snapshot_keep": "/pgd/6.0/reference/pgd-settings#bdrtimestamp_snapshot_keep", + "bdrdebug_level": "/pgd/6.0/reference/pgd-settings#bdrdebug_level", + "bdrtrace_level": "/pgd/6.0/reference/pgd-settings#bdrtrace_level", + "bdrtrack_subscription_apply": "/pgd/6.0/reference/pgd-settings#bdrtrack_subscription_apply", + "bdrtrack_relation_apply": "/pgd/6.0/reference/pgd-settings#bdrtrack_relation_apply", + "bdrtrack_apply_lock_timing": "/pgd/6.0/reference/pgd-settings#bdrtrack_apply_lock_timing", + "bdrenable_wal_decoder": "/pgd/6.0/reference/pgd-settings#bdrenable_wal_decoder", + "bdrreceive_lcr": "/pgd/6.0/reference/pgd-settings#bdrreceive_lcr", + "bdrlcr_cleanup_interval": "/pgd/6.0/reference/pgd-settings#bdrlcr_cleanup_interval", + "bdrglobal_connection_timeout": "/pgd/6.0/reference/pgd-settings#bdrglobal_connection_timeout", + "bdrglobal_keepalives": "/pgd/6.0/reference/pgd-settings#bdrglobal_keepalives", + "bdrglobal_keepalives_idle": "/pgd/6.0/reference/pgd-settings#bdrglobal_keepalives_idle", + "bdrglobal_keepalives_interval": "/pgd/6.0/reference/pgd-settings#bdrglobal_keepalives_interval", + "bdrglobal_keepalives_count": "/pgd/6.0/reference/pgd-settings#bdrglobal_keepalives_count", + "bdrglobal_tcp_user_timeout": "/pgd/6.0/reference/pgd-settings#bdrglobal_tcp_user_timeout", + "bdrforce_full_mesh": "/pgd/6.0/reference/pgd-settings#bdrforce_full_mesh", + "bdrraft_global_election_timeout": "/pgd/6.0/reference/pgd-settings#bdrraft_global_election_timeout", + "bdrraft_group_election_timeout": "/pgd/6.0/reference/pgd-settings#bdrraft_group_election_timeout", + "bdrraft_response_timeout": "/pgd/6.0/reference/pgd-settings#bdrraft_response_timeout", + "bdrraft_keep_min_entries": "/pgd/6.0/reference/pgd-settings#bdrraft_keep_min_entries", + "bdrraft_log_min_apply_duration": "/pgd/6.0/reference/pgd-settings#bdrraft_log_min_apply_duration", + "bdrraft_log_min_message_duration": "/pgd/6.0/reference/pgd-settings#bdrraft_log_min_message_duration", + "bdrraft_group_max_connections": "/pgd/6.0/reference/pgd-settings#bdrraft_group_max_connections", + "bdrbackwards_compatibility": "/pgd/6.0/reference/pgd-settings#bdrbackwards_compatibility", + "bdrtrack_replication_estimates": "/pgd/6.0/reference/pgd-settings#bdrtrack_replication_estimates", + "bdrlag_tracker_apply_rate_weight": "/pgd/6.0/reference/pgd-settings#bdrlag_tracker_apply_rate_weight", + "bdrenable_auto_sync_reconcile": "/pgd/6.0/reference/pgd-settings#bdrenable_auto_sync_reconcile", + "list-of-node-states": "/pgd/6.0/reference/nodes#list-of-node-states", + "node-management-commands": "/pgd/6.0/reference/nodes#node-management-commands", + "bdr_init_physical": "/pgd/6.0/reference/nodes#bdr_init_physical", + "bdr_config": "/pgd/6.0/reference/nodes#bdr_config", + "bdralter_node_group_option": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_node_group_option", + "bdralter_node_interface": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_node_interface", + "bdralter_node_option": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_node_option", + "bdralter_subscription_enable": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_subscription_enable", + "bdralter_subscription_disable": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_subscription_disable", + "bdrcreate_node": "/pgd/6.0/reference/nodes-management-interfaces#bdrcreate_node", + "bdrcreate_node_group": "/pgd/6.0/reference/nodes-management-interfaces#bdrcreate_node_group", + "bdrdrop_node_group": "/pgd/6.0/reference/nodes-management-interfaces#bdrdrop_node_group", + "bdrjoin_node_group": "/pgd/6.0/reference/nodes-management-interfaces#bdrjoin_node_group", + "bdrpart_node": "/pgd/6.0/reference/nodes-management-interfaces#bdrpart_node", + "bdrpromote_node": "/pgd/6.0/reference/nodes-management-interfaces#bdrpromote_node", + "bdrswitch_node_group": "/pgd/6.0/reference/nodes-management-interfaces#bdrswitch_node_group", + "bdrwait_for_join_completion": "/pgd/6.0/reference/nodes-management-interfaces#bdrwait_for_join_completion", + "bdralter_node_group_config": "/pgd/6.0/reference/nodes-management-interfaces#bdralter_node_group_config", + "bdrcreate_proxy": "/pgd/6.0/reference/routing#bdrcreate_proxy", + "bdralter_proxy_option": "/pgd/6.0/reference/routing#bdralter_proxy_option", + "bdrdrop_proxy": "/pgd/6.0/reference/routing#bdrdrop_proxy", + "bdrrouting_leadership_transfer": "/pgd/6.0/reference/routing#bdrrouting_leadership_transfer", + "cs.commit-scope-syntax": "/pgd/6.0/reference/commit-scopes#commit-scope-syntax", + "cs.commit_scope_degrade_operation": "/pgd/6.0/reference/commit-scopes#commit_scope_degrade_operation", + "cs.commit-scope-targets": "/pgd/6.0/reference/commit-scopes#commit-scope-targets", + "cs.origin_group": "/pgd/6.0/reference/commit-scopes#origin_group", + "cs.commit-scope-groups": "/pgd/6.0/reference/commit-scopes#commit-scope-groups", + "cs.any": "/pgd/6.0/reference/commit-scopes#any", + "cs.any-not": "/pgd/6.0/reference/commit-scopes#any-not", + "cs.majority": "/pgd/6.0/reference/commit-scopes#majority", + "cs.majority-not": "/pgd/6.0/reference/commit-scopes#majority-not", + "cs.all": "/pgd/6.0/reference/commit-scopes#all", + "cs.all-not": "/pgd/6.0/reference/commit-scopes#all-not", + "cs.confirmation-level": "/pgd/6.0/reference/commit-scopes#confirmation-level", + "cs.on-received": "/pgd/6.0/reference/commit-scopes#on-received", + "cs.on-replicated": "/pgd/6.0/reference/commit-scopes#on-replicated", + "cs.on-durable": "/pgd/6.0/reference/commit-scopes#on-durable", + "cs.on-visible": "/pgd/6.0/reference/commit-scopes#on-visible", + "cs.commit-scope-kinds": "/pgd/6.0/reference/commit-scopes#commit-scope-kinds", + "cs.synchronous-commit": "/pgd/6.0/reference/commit-scopes#synchronous-commit", + "cs.degrade-on-parameters": "/pgd/6.0/reference/commit-scopes#degrade-on-parameters", + "cs.group-commit": "/pgd/6.0/reference/commit-scopes#group-commit", + "cs.group-commit-parameters": "/pgd/6.0/reference/commit-scopes#group-commit-parameters", + "cs.abort-on-parameters": "/pgd/6.0/reference/commit-scopes#abort-on-parameters", + "cs.transaction_tracking-settings": "/pgd/6.0/reference/commit-scopes#transaction_tracking-settings", + "cs.conflict_resolution-settings": "/pgd/6.0/reference/commit-scopes#conflict_resolution-settings", + "cs.commit_decision-settings": "/pgd/6.0/reference/commit-scopes#commit_decision-settings", + "cs.commit_scope_degrade_operation-settings": "/pgd/6.0/reference/commit-scopes#commit_scope_degrade_operation-settings", + "cs.camo": "/pgd/6.0/reference/commit-scopes#camo", + "cs.lag-control": "/pgd/6.0/reference/commit-scopes#lag-control", + "cs.lag-control-parameters": "/pgd/6.0/reference/commit-scopes#lag-control-parameters", + "conflict-detection": "/pgd/6.0/reference/conflicts#conflict-detection", + "list-of-conflict-types": "/pgd/6.0/reference/conflicts#list-of-conflict-types", + "conflict-resolution": "/pgd/6.0/reference/conflicts#conflict-resolution", + "list-of-conflict-resolvers": "/pgd/6.0/reference/conflicts#list-of-conflict-resolvers", + "default-conflict-resolvers": "/pgd/6.0/reference/conflicts#default-conflict-resolvers", + "list-of-conflict-resolutions": "/pgd/6.0/reference/conflicts#list-of-conflict-resolutions", + "conflict-logging": "/pgd/6.0/reference/conflicts#conflict-logging", + "bdralter_table_conflict_detection": "/pgd/6.0/reference/conflict_functions#bdralter_table_conflict_detection", + "bdralter_node_set_conflict_resolver": "/pgd/6.0/reference/conflict_functions#bdralter_node_set_conflict_resolver", + "bdralter_node_set_log_config": "/pgd/6.0/reference/conflict_functions#bdralter_node_set_log_config", + "bdrcreate_replication_set": "/pgd/6.0/reference/repsets-management#bdrcreate_replication_set", + "bdralter_replication_set": "/pgd/6.0/reference/repsets-management#bdralter_replication_set", + "bdrdrop_replication_set": "/pgd/6.0/reference/repsets-management#bdrdrop_replication_set", + "bdralter_node_replication_sets": "/pgd/6.0/reference/repsets-management#bdralter_node_replication_sets", + "bdrreplication_set_add_table": "/pgd/6.0/reference/repsets-membership#bdrreplication_set_add_table", + "bdrreplication_set_remove_table": "/pgd/6.0/reference/repsets-membership#bdrreplication_set_remove_table", + "bdrreplication_set_add_ddl_filter": "/pgd/6.0/reference/repsets-ddl-filtering#bdrreplication_set_add_ddl_filter", + "bdrreplication_set_remove_ddl_filter": "/pgd/6.0/reference/repsets-ddl-filtering#bdrreplication_set_remove_ddl_filter", + "pgd_bench": "/pgd/6.0/reference/testingandtuning#pgd_bench", + "bdralter_sequence_set_kind": "/pgd/6.0/reference/sequences#bdralter_sequence_set_kind", + "bdrextract_timestamp_from_snowflakeid": "/pgd/6.0/reference/sequences#bdrextract_timestamp_from_snowflakeid", + "bdrextract_nodeid_from_snowflakeid": "/pgd/6.0/reference/sequences#bdrextract_nodeid_from_snowflakeid", + "bdrextract_localseqid_from_snowflakeid": "/pgd/6.0/reference/sequences#bdrextract_localseqid_from_snowflakeid", + "bdrtimestamp_to_snowflakeid": "/pgd/6.0/reference/sequences#bdrtimestamp_to_snowflakeid", + "bdrextract_timestamp_from_timeshard": "/pgd/6.0/reference/sequences#bdrextract_timestamp_from_timeshard", + "bdrextract_nodeid_from_timeshard": "/pgd/6.0/reference/sequences#bdrextract_nodeid_from_timeshard", + "bdrextract_localseqid_from_timeshard": "/pgd/6.0/reference/sequences#bdrextract_localseqid_from_timeshard", + "bdrtimestamp_to_timeshard": "/pgd/6.0/reference/sequences#bdrtimestamp_to_timeshard", + "bdrgen_ksuuid_v2": "/pgd/6.0/reference/sequences#bdrgen_ksuuid_v2", + "bdrksuuid_v2_cmp": "/pgd/6.0/reference/sequences#bdrksuuid_v2_cmp", + "bdrextract_timestamp_from_ksuuid_v2": "/pgd/6.0/reference/sequences#bdrextract_timestamp_from_ksuuid_v2", + "bdrgen_ksuuid": "/pgd/6.0/reference/sequences#bdrgen_ksuuid", + "bdruuid_v1_cmp": "/pgd/6.0/reference/sequences#bdruuid_v1_cmp", + "bdrextract_timestamp_from_ksuuid": "/pgd/6.0/reference/sequences#bdrextract_timestamp_from_ksuuid", + "bdrautopartition": "/pgd/6.0/reference/autopartition#bdrautopartition", + "bdrdrop_autopartition": "/pgd/6.0/reference/autopartition#bdrdrop_autopartition", + "bdrautopartition_wait_for_partitions": "/pgd/6.0/reference/autopartition#bdrautopartition_wait_for_partitions", + "bdrautopartition_wait_for_partitions_on_all_nodes": "/pgd/6.0/reference/autopartition#bdrautopartition_wait_for_partitions_on_all_nodes", + "bdrautopartition_find_partition": "/pgd/6.0/reference/autopartition#bdrautopartition_find_partition", + "bdrautopartition_enable": "/pgd/6.0/reference/autopartition#bdrautopartition_enable", + "bdrautopartition_disable": "/pgd/6.0/reference/autopartition#bdrautopartition_disable", + "internal-functions": "/pgd/6.0/reference/autopartition#internal-functions", + "bdrautopartition_create_partition": "/pgd/6.0/reference/autopartition#bdrautopartition_create_partition", + "bdrautopartition_drop_partition": "/pgd/6.0/reference/autopartition#bdrautopartition_drop_partition", + "bdrcreate_conflict_trigger": "/pgd/6.0/reference/streamtriggers/interfaces#bdrcreate_conflict_trigger", + "bdrcreate_transform_trigger": "/pgd/6.0/reference/streamtriggers/interfaces#bdrcreate_transform_trigger", + "bdrdrop_trigger": "/pgd/6.0/reference/streamtriggers/interfaces#bdrdrop_trigger", + "bdrtrigger_get_row": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_row", + "bdrtrigger_get_committs": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_committs", + "bdrtrigger_get_xid": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_xid", + "bdrtrigger_get_type": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_type", + "bdrtrigger_get_conflict_type": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_conflict_type", + "bdrtrigger_get_origin_node_id": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrtrigger_get_origin_node_id", + "bdrri_fkey_on_del_trigger": "/pgd/6.0/reference/streamtriggers/rowfunctions#bdrri_fkey_on_del_trigger", + "tg_name": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_name", + "tg_when": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_when", + "tg_level": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_level", + "tg_op": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_op", + "tg_relid": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_relid", + "tg_table_name": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_table_name", + "tg_table_schema": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_table_schema", + "tg_nargs": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_nargs", + "tg_argv": "/pgd/6.0/reference/streamtriggers/rowvariables#tg_argv", + "bdrautopartition_partitions": "/pgd/6.0/reference/catalogs-internal#bdrautopartition_partitions", + "bdrautopartition_rules": "/pgd/6.0/reference/catalogs-internal#bdrautopartition_rules", + "bdrddl_epoch": "/pgd/6.0/reference/catalogs-internal#bdrddl_epoch", + "bdrevent_history": "/pgd/6.0/reference/catalogs-internal#bdrevent_history", + "bdrevent_summary": "/pgd/6.0/reference/catalogs-internal#bdrevent_summary", + "bdrlocal_leader_change": "/pgd/6.0/reference/catalogs-internal#bdrlocal_leader_change", + "bdrnode_config": "/pgd/6.0/reference/catalogs-internal#bdrnode_config", + "bdrnode_config_summary": "/pgd/6.0/reference/catalogs-internal#bdrnode_config_summary", + "bdrnode_group_config": "/pgd/6.0/reference/catalogs-internal#bdrnode_group_config", + "bdrnode_group_routing_config_summary": "/pgd/6.0/reference/catalogs-internal#bdrnode_group_routing_config_summary", + "bdrnode_group_routing_info": "/pgd/6.0/reference/catalogs-internal#bdrnode_group_routing_info", + "bdrnode_group_routing_summary": "/pgd/6.0/reference/catalogs-internal#bdrnode_group_routing_summary", + "bdrnode_routing_config_summary": "/pgd/6.0/reference/catalogs-internal#bdrnode_routing_config_summary", + "bdrproxy_config": "/pgd/6.0/reference/catalogs-internal#bdrproxy_config", + "bdrproxy_config_summary": "/pgd/6.0/reference/catalogs-internal#bdrproxy_config_summary", + "bdrsequence_kind": "/pgd/6.0/reference/catalogs-internal#bdrsequence_kind", + "bdrsync_node_requests": "/pgd/6.0/reference/catalogs-internal#bdrsync_node_requests", + "bdrsync_node_requests_summary": "/pgd/6.0/reference/catalogs-internal#bdrsync_node_requests_summary", + "bdrbdr_get_commit_decisions": "/pgd/6.0/reference/functions-internal#bdrbdr_get_commit_decisions", + "bdrbdr_track_commit_decision": "/pgd/6.0/reference/functions-internal#bdrbdr_track_commit_decision", + "bdrconsensus_kv_fetch": "/pgd/6.0/reference/functions-internal#bdrconsensus_kv_fetch", + "bdrconsensus_kv_store": "/pgd/6.0/reference/functions-internal#bdrconsensus_kv_store", + "bdrdecode_message_payload": "/pgd/6.0/reference/functions-internal#bdrdecode_message_payload", + "bdrdecode_message_response_payload": "/pgd/6.0/reference/functions-internal#bdrdecode_message_response_payload", + "bdrdifference_fix_origin_create": "/pgd/6.0/reference/functions-internal#bdrdifference_fix_origin_create", + "bdrdifference_fix_session_reset": "/pgd/6.0/reference/functions-internal#bdrdifference_fix_session_reset", + "bdrdifference_fix_session_setup": "/pgd/6.0/reference/functions-internal#bdrdifference_fix_session_setup", + "bdrdifference_fix_xact_set_avoid_conflict": "/pgd/6.0/reference/functions-internal#bdrdifference_fix_xact_set_avoid_conflict", + "bdrdrop_node": "/pgd/6.0/reference/functions-internal#bdrdrop_node", + "bdrget_global_locks": "/pgd/6.0/reference/functions-internal#bdrget_global_locks", + "bdrget_node_conflict_resolvers": "/pgd/6.0/reference/functions-internal#bdrget_node_conflict_resolvers", + "bdrget_slot_flush_timestamp": "/pgd/6.0/reference/functions-internal#bdrget_slot_flush_timestamp", + "bdrinternal_alter_sequence_set_kind": "/pgd/6.0/reference/functions-internal#bdrinternal_alter_sequence_set_kind", + "bdrinternal_replication_set_add_table": "/pgd/6.0/reference/functions-internal#bdrinternal_replication_set_add_table", + "bdrinternal_replication_set_remove_table": "/pgd/6.0/reference/functions-internal#bdrinternal_replication_set_remove_table", + "bdrinternal_submit_join_request": "/pgd/6.0/reference/functions-internal#bdrinternal_submit_join_request", + "bdrisolation_test_session_is_blocked": "/pgd/6.0/reference/functions-internal#bdrisolation_test_session_is_blocked", + "bdrlocal_node_info": "/pgd/6.0/reference/functions-internal#bdrlocal_node_info", + "bdrmsgb_connect": "/pgd/6.0/reference/functions-internal#bdrmsgb_connect", + "bdrmsgb_deliver_message": "/pgd/6.0/reference/functions-internal#bdrmsgb_deliver_message", + "bdrnode_catchup_state_name": "/pgd/6.0/reference/functions-internal#bdrnode_catchup_state_name", + "bdrnode_kind_name": "/pgd/6.0/reference/functions-internal#bdrnode_kind_name", + "bdrpeer_state_name": "/pgd/6.0/reference/functions-internal#bdrpeer_state_name", + "bdrpg_xact_origin": "/pgd/6.0/reference/functions-internal#bdrpg_xact_origin", + "bdrrequest_replay_progress_update": "/pgd/6.0/reference/functions-internal#bdrrequest_replay_progress_update", + "bdrreset_relation_stats": "/pgd/6.0/reference/functions-internal#bdrreset_relation_stats", + "bdrreset_subscription_stats": "/pgd/6.0/reference/functions-internal#bdrreset_subscription_stats", + "bdrresynchronize_table_from_node": "/pgd/6.0/reference/functions-internal#bdrresynchronize_table_from_node", + "bdrseq_currval": "/pgd/6.0/reference/functions-internal#bdrseq_currval", + "bdrseq_lastval": "/pgd/6.0/reference/functions-internal#bdrseq_lastval", + "bdrseq_nextval": "/pgd/6.0/reference/functions-internal#bdrseq_nextval", + "bdrshow_subscription_status": "/pgd/6.0/reference/functions-internal#bdrshow_subscription_status", + "bdrshow_workers": "/pgd/6.0/reference/functions-internal#bdrshow_workers", + "bdrshow_writers": "/pgd/6.0/reference/functions-internal#bdrshow_writers", + "bdrsync_status_name": "/pgd/6.0/reference/functions-internal#bdrsync_status_name", + "bdrtaskmgr_set_leader": "/pgd/6.0/reference/functions-internal#bdrtaskmgr_set_leader", + "bdrtaskmgr_get_last_completed_workitem": "/pgd/6.0/reference/functions-internal#bdrtaskmgr_get_last_completed_workitem", + "bdrtaskmgr_work_queue_check_status": "/pgd/6.0/reference/functions-internal#bdrtaskmgr_work_queue_check_status", + "bdrpglogical_proto_version_ranges": "/pgd/6.0/reference/functions-internal#bdrpglogical_proto_version_ranges", + "bdrget_min_required_replication_slots": "/pgd/6.0/reference/functions-internal#bdrget_min_required_replication_slots", + "bdrget_min_required_worker_processes": "/pgd/6.0/reference/functions-internal#bdrget_min_required_worker_processes", + "bdrstat_get_activity": "/pgd/6.0/reference/functions-internal#bdrstat_get_activity", + "bdrworker_role_id_name": "/pgd/6.0/reference/functions-internal#bdrworker_role_id_name", + "bdrlag_history": "/pgd/6.0/reference/functions-internal#bdrlag_history", + "bdrget_raft_instance_by_nodegroup": "/pgd/6.0/reference/functions-internal#bdrget_raft_instance_by_nodegroup", + "bdrmonitor_camo_on_all_nodes": "/pgd/6.0/reference/functions-internal#bdrmonitor_camo_on_all_nodes", + "bdrmonitor_raft_details_on_all_nodes": "/pgd/6.0/reference/functions-internal#bdrmonitor_raft_details_on_all_nodes", + "bdrmonitor_replslots_details_on_all_nodes": "/pgd/6.0/reference/functions-internal#bdrmonitor_replslots_details_on_all_nodes", + "bdrmonitor_subscription_details_on_all_nodes": "/pgd/6.0/reference/functions-internal#bdrmonitor_subscription_details_on_all_nodes", + "bdrmonitor_version_details_on_all_nodes": "/pgd/6.0/reference/functions-internal#bdrmonitor_version_details_on_all_nodes", + "bdrnode_group_member_info": "/pgd/6.0/reference/functions-internal#bdrnode_group_member_info", + "bdrcolumn_timestamps_create": "/pgd/6.0/reference/clcd#bdrcolumn_timestamps_create" } \ No newline at end of file diff --git a/product_docs/docs/pgd/6/reference/index.mdx b/product_docs/docs/pgd/6/reference/index.mdx index 085cf423210..292fc10f751 100644 --- a/product_docs/docs/pgd/6/reference/index.mdx +++ b/product_docs/docs/pgd/6/reference/index.mdx @@ -81,8 +81,13 @@ The reference section is a definitive listing of all functions, views, and comma * [`bdr.sequence_alloc`](catalogs-visible#bdrsequence_alloc) * [`bdr.sequences`](catalogs-visible#bdrsequences) * [`bdr.stat_activity`](catalogs-visible#bdrstat_activity) + * [`bdr.stat_activity` additional columns](catalogs-visible#bdrstat_activity-additional-columns) * [`bdr.stat_commit_scope`](catalogs-visible#bdrstat_commit_scope) * [`bdr.stat_commit_scope_state`](catalogs-visible#bdrstat_commit_scope_state) + * [`bdr.stat_connection_manager`](catalogs-visible#bdrstat_connection_manager) + * [`bdr.stat_connection_manager_connections`](catalogs-visible#bdrstat_connection_manager_connections) + * [`bdr.stat_connection_manager_node_stats`](catalogs-visible#bdrstat_connection_manager_node_stats) + * [`bdr.stat_connection_manager_hba_file_rules`](catalogs-visible#bdrstat_connection_manager_hba_file_rules) * [`bdr.stat_raft_followers_state`](catalogs-visible#bdrstat_raft_followers_state) * [`bdr.stat_raft_state`](catalogs-visible#bdrstat_raft_state) * [`bdr.stat_receiver`](catalogs-visible#bdrstat_receiver) From 3d26845f0c5ed5f118c06a05f0c1824fd6492824 Mon Sep 17 00:00:00 2001 From: Dj Walker-Morgan Date: Tue, 22 Apr 2025 10:52:47 +0100 Subject: [PATCH 2/6] First pass changes to support CM Signed-off-by: Dj Walker-Morgan --- .../6/cli/command_ref/group/set-option.mdx | 2 +- .../deploying/04-installing-software.mdx | 277 +++--------------- .../deploying/07-configure-proxies.mdx | 256 ---------------- ...using-pgd-cli.mdx => 07-using-pgd-cli.mdx} | 0 .../deploy-manual/deploying/index.mdx | 3 +- .../pgd/6/reference/catalogs-internal.mdx | 60 +--- .../pgd/6/reference/functions-internal.mdx | 4 - product_docs/docs/pgd/6/reference/index.json | 8 - product_docs/docs/pgd/6/reference/index.mdx | 11 - .../reference/nodes-management-interfaces.mdx | 59 +--- product_docs/docs/pgd/6/reference/routing.mdx | 104 ------- .../pgd/6/security/pgd-predefined-roles.mdx | 1 - .../docs/pgd/6/transaction-streaming.mdx | 6 +- .../docs/pgd/6/upgrades/compatibility.mdx | 6 +- 14 files changed, 49 insertions(+), 748 deletions(-) delete mode 100644 product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/07-configure-proxies.mdx rename product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/{08-using-pgd-cli.mdx => 07-using-pgd-cli.mdx} (100%) delete mode 100644 product_docs/docs/pgd/6/reference/routing.mdx diff --git a/product_docs/docs/pgd/6/cli/command_ref/group/set-option.mdx b/product_docs/docs/pgd/6/cli/command_ref/group/set-option.mdx index d09c7c41925..d07b3351fa2 100644 --- a/product_docs/docs/pgd/6/cli/command_ref/group/set-option.mdx +++ b/product_docs/docs/pgd/6/cli/command_ref/group/set-option.mdx @@ -27,7 +27,7 @@ The following options are available: | apply_delay | The delay in applying changes to the group. | | check_constraints | Whether to check constraints in the group. | | default_commit_scope | The default commit scope of the group. | -| enable_proxy_routing | Whether to enable proxy routing in the group. | +| enable_routing | Whether to enable routing in the group. | | enable_raft | Whether to enable Raft in the group. | | enable_wal_decoder | Whether to enable the WAL decoder in the group. | | location | The location of the group. | diff --git a/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/04-installing-software.mdx b/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/04-installing-software.mdx index 1384438cf71..ba26fcd2fcd 100644 --- a/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/04-installing-software.mdx +++ b/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/04-installing-software.mdx @@ -13,277 +13,76 @@ With the repositories configured, you can now install the Postgres Distributed s You must perform these steps on each host before proceeding to the next step. * **Install the packages.** - * Install the PGD packages, which include a server-specific BDR package and generic PGD Proxy and CLI packages. (`edb-bdr5-`, `edb-pgd5-proxy`, and `edb-pgd5-cli`) - - -* **Ensure the Postgres database server has been initialized and started.** - * Use `systemctl status` to check that the service is running. - * If the service isn't running, initialize the database and start the service. - - -* **Configure the BDR extension.** - * Add the BDR extension (`$libdir/bdr`) at the start of the `shared_preload_libraries` setting in `postgresql.conf`. - * Set the `wal_level` GUC variable to `logical` in `postgresql.conf`. - * Turn on commit timestamp tracking by setting `track_commit_timestamp` to `'on'` in `postgresql.conf`. - * Increase the maximum worker processes to 16 or higher by setting `max_worker_processes` to `'16'` in `postgresql.conf`.

- !!! Note The `max_worker_processes` value - The `max_worker_processes` value is derived from the topology of the cluster, the number of peers, number of databases, and other factors. - To calculate the needed value, see [Postgres configuration/settings](../../../postgres-configuration/#postgres-settings). - The value of 16 was calculated for the size of cluster being deployed in this example. It must be increased for larger clusters. - !!! - * Set a password on the EnterprisedDB/Postgres user. - * Add rules to `pg_hba.conf` to allow nodes to connect to each other. - * Ensure that these lines are present in `pg_hba.conf`: - ``` - host all all all md5 - host replication all all md5 - ``` - * Add a `.pgpass` file to allow nodes to authenticate each other. - * Configure a user with sufficient privileges to log in to the other nodes. - * See [The Password File](https://www.postgresql.org/docs/current/libpq-pgpass.html) in the Postgres documentation for more on the `.pgpass` file. - - -* **Restart the server.** - * Verify the restarted server is running with the modified settings and the BDR extension is available. - - -* **Create the replicated database.** - * Log in to the server's default database (`edb` for EDB Postgres Advanced Server, `postgres` for PGE and community Postgres). - * Use `CREATE DATABASE bdrdb` to create the default PGD replicated database. - * Log out and then log back in to `bdrdb`. - * Use `CREATE EXTENSION bdr` to enable the BDR extension and PGD to run on that database. - - -The worked example that follows shows the steps for EDB Postgres Advanced Server in detail. - -If you're installing PGD with EDB Postgres Extended Server or community Postgres, the steps are similar, but details such as package names and paths are different. These differences are summarized in [Installing PGD for EDB Postgres Extended Server](#installing-pgd-for-edb-postgres-extended-server) and [Installing PGD for Postgresql](#installing-pgd-for-postgresql). + * Install the PGD package which include a server-specific PGD package. (`edb-pgd6-`) that includes the PGD CLI. +* **Switch to the Postgres user.** + * The Postgres user is the system user that runs the database server. + * For EDB Postgres Advanced Server, this is `enterprisedb`. For PostgreSQL, it's `postgres`. +* **Run the PGD CLI command to create a PGD node** + * This command creates a node in the cluster. + * Then it joins the node to the existing cluster (or makes the first node in the cluster). ## Worked example ### Install the packages -The first step is to install the packages. Each Postgres package has an `edb-bdr5-` package to go with it. -For example, if you're installing EDB Postgres Advanced Server (epas) version 16, you'd install `edb-bdr5-epas16`. - -There are two other packages to also install: - -- `edb-pgd5-proxy` for PGD Proxy -- `edb-pgd5-cli` for the PGD command line tool - -To install all of these packages on a RHEL or RHEL compatible Linux, run: - -``` -sudo dnf -y install edb-bdr5-epas16 edb-pgd5-proxy edb-pgd5-cli -``` - -### Ensure the database is initialized and started - -If the server wasn't initialized and started by the database's package initialization (or you're repeating the process), you need to initialize and start the server. - -To see if the server is running, you can check the service. The service name for EDB Advanced Server is `edb-as-16`, so run: - -``` -sudo systemctl status edb-as-16 -``` - -If the server isn't running, the response is: - -``` -○ edb-as-16.service - EDB Postgres Advanced Server 16 - Loaded: loaded (/usr/lib/systemd/system/edb-as-16.service; disabled; preset: disabled) - Active: inactive (dead) -``` - -`Active: inactive (dead)` tells you that you need to initialize and start the server. - -You need to know the path to the setup script for your particular Postgres flavor. - -For EDB Postgres Advanced Server, you can find this script in `/usr/edb/as16/bin` as `edb-as-16-setup`. -Run this command with the `initdb` parameter and pass an option to set the database to use UTF-8: - -``` -sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as16/bin/edb-as-16-setup initdb -``` - -Once the database is initialized, start it so that you can continue configuring the BDR extension: - -``` -sudo systemctl start edb-as-16 -``` - -### Configure the BDR extension - -Installing EDB Postgres Advanced Server creates a system user enterprisedb with admin capabilities when connected to the database. You'll use this user to configure the BDR extension. - -#### Preload the BDR library - -You need to preload the BDR library with other libraries. -EDB Postgres Advanced Server has a number of libraries already preloaded, so you have to prefix the existing list with the BDR library. - -``` -echo -e "shared_preload_libraries = '\$libdir/bdr,\$libdir/dbms_pipe,\$libdir/edb_gen,\$libdir/dbms_aq'" | sudo -u enterprisedb tee -a /var/lib/edb/as16/data/postgresql.conf >/dev/null -``` - -!!!tip -This command format (`echo ... | sudo ... tee -a ...`) appends the echoed string to the end of the `postgresql.conf` file, which is owned by another user. -!!! - -#### Set the `wal_level` - -The BDR extension needs to set the server to perform logical replication. Do this by setting `wal_level` to `logical`: - -``` -echo -e "wal_level = 'logical'" | sudo -u enterprisedb tee -a /var/lib/edb/as16/data/postgresql.conf >/dev/null - -``` - -#### Enable commit timestamp tracking +The first step is to install the packages. Each Postgres package has an `edb-pgd17--` package to go with it. +For example, if you're installing EDB Postgres Advanced Server (epas) version 17, you'd install `edb-pgd6-epas17`. -The BDR extension also needs the commit timestamp tracking enabled: + -``` -echo -e "track_commit_timestamp = 'on'" | sudo -u enterprisedb tee -a /var/lib/edb/as16/data/postgresql.conf >/dev/null - -``` - -#### Increase `max_worker_processes` - -To communicate between multiple nodes, Postgres Distributed nodes run more worker processes than usual. -The default limit (8) is too low even for a small cluster. - -The `max_worker_processes` value is derived from the topology of the cluster, the number of peers, number of databases, and other factors. -To calculate the needed value, see [Postgres configuration/settings](../../../postgres-configuration/#postgres-settings). - -This example, with a 3-node cluster, uses the value of 16. + -Increase the maximum number of worker processes to 16: +To install the packages on a RHEL or RHEL compatible Linux, run: +```bash +sudo dnf -y install edb-as17-server +sudo dnf -y install edb-pgd6-epas17 ``` -echo -e "max_worker_processes = '16'" | sudo -u enterprisedb tee -a /var/lib/edb/as16/data/postgresql.conf >/dev/null - -``` - -This value must be increased for larger clusters. + -#### Add a password to the Postgres enterprisedb user + -To allow connections between nodes, a password needs to be set on the Postgres enterprisedb user. -This example uses the password `secret`. -Select a different password for your deployments. -You will need this password to [Enable authentication between nodes](#enable-authentication-between-nodes). +To install the packages on a Debian or Ubuntu Linux, run: +```bash +sudo dnf -y install edb-as17-server +sudo apt-get -y install edb-pgd6-epas17 ``` -sudo -u enterprisedb psql edb -c "ALTER USER enterprisedb WITH PASSWORD 'secret'" -``` + -#### Enable inter-node authentication in pg_hba.conf + -Out of the box, Postgres allows local authentication and connections with the database but not external network connections. -To enable this, edit `pg_hba.conf` and add appropriate rules, including rules for the replication users. -To simplify the process, use this command: +### Switch to the Postgres user -``` -echo -e "host all all all md5\nhost replication all all md5" | sudo tee -a /var/lib/edb/as16/data/pg_hba.conf + -``` - -The command appends the following to `pg_hba.conf`: - -``` -host all all all md5 -host replication all all md5 - -``` - -These commands enable the nodes to replicate. + -#### Enable authentication between nodes - -As part of the process of connecting nodes for replication, PGD logs into other nodes. -It performs that login as the user that Postgres is running under. -For EDB Postgres Advanced server, this is the enterprisedb user. -That user needs credentials to log into the other nodes. -Supply these credentials using the `.pgpass` file, which needs to reside in the user's home directory. -The home directory for `enterprisedb` is `/var/lib/edb`. - -Run this command to create the file: - -``` -echo -e "*:*:*:enterprisedb:secret" | sudo -u enterprisedb tee /var/lib/edb/.pgpass; sudo chmod 0600 /var/lib/edb/.pgpass +To install the packages on a RHEL or RHEL compatible Linux, run: +```bash +sudo dnf -y install edb-as17-server +sudo dnf -y install edb-pgd6-epas17 ``` -You can read more about the `.pgpass` file in [The Password File](https://www.postgresql.org/docs/current/libpq-pgpass.html) in the PostgreSQL documentation. + -### Restart the server + -After all these configuration changes, we recommend that you restart the server with: - -``` -sudo systemctl restart edb-as-16 +To install the packages on a Debian or Ubuntu Linux, run: +```bash +sudo dnf -y install edb-as17-server +sudo apt-get -y install edb-pgd6-epas17 ``` -#### Check the extension has been installed + -At this point, it's worth checking whether the extension is actually available and the configuration was correctly loaded. You can query the `pg_available_extensions` table for the BDR extension like this: + -``` -sudo -u enterprisedb psql edb -c "select * from pg_available_extensions where name like 'bdr'" - -``` - -This command returns an entry for the extension and its version: - -``` - name | default_version | installed_version | comment -------+-----------------+-------------------+------------------------------------------- - bdr | 5.3.0 | | Bi-Directional Replication for PostgreSQL - ``` - -You can also confirm the other server settings using this command: - -``` -sudo -u enterprisedb psql edb -c "show all" | grep -e wal_level -e track_commit_timestamp -e max_worker_processes - -``` - -### Create the replicated database - -The server is now prepared for PGD. -You need to next create a database named `bdrdb` and install the BDR extension when logged into it: - -``` -sudo -u enterprisedb psql edb -c "CREATE DATABASE bdrdb" -sudo -u enterprisedb psql bdrdb -c "CREATE EXTENSION bdr" - -``` - -Finally, test the connection by logging in to the server. - -``` -sudo -u enterprisedb psql bdrdb -``` - -You're connected to the server. -Execute the command "\\dx" to list extensions installed: - -``` -bdrdb=# \dx - List of installed extensions - Name | Version | Schema | Description -------------------+---------+------------+-------------------------------------------------- - bdr | 5.3.0 | pg_catalog | Bi-Directional Replication for PostgreSQL - edb_dblink_libpq | 1.0 | pg_catalog | EnterpriseDB Foreign Data Wrapper for PostgreSQL - edb_dblink_oci | 1.0 | pg_catalog | EnterpriseDB Foreign Data Wrapper for Oracle - edbspl | 1.0 | pg_catalog | EDB-SPL procedural language - plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language -(5 rows) -``` -Notice that the BDR extension is listed in the table, showing that it's installed. ## Summaries diff --git a/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/07-configure-proxies.mdx b/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/07-configure-proxies.mdx deleted file mode 100644 index b9176256e26..00000000000 --- a/product_docs/docs/pgd/6/deploy-config/deploy-manual/deploying/07-configure-proxies.mdx +++ /dev/null @@ -1,256 +0,0 @@ ---- -title: Step 7 - Configure proxies -navTitle: Configure proxies -deepToC: true -redirects: - - /pgd/latest/install-admin/admin-manual/installing/07-configure-proxies/ #generated for pgd deploy-config-planning reorg - - /pgd/latest/admin-manual/installing/07-configure-proxies/ #generated for pgd deploy-config-planning reorg ---- - -## Configure proxies - -PGD can use proxies to direct traffic to one of the cluster's nodes, selected automatically by the cluster. -There are performance and availability reasons for using a proxy: - -* Performance: By directing all traffic (in particular, write traffic) to one node, the node can resolve write conflicts locally and more efficiently. -* Availability: When a node is taken down for maintenance or goes offline for other reasons, the proxy can direct new traffic to a new write leader that it selects. - -It's best practice to configure PGD Proxy for clusters to enable this behavior. - -### Configure the cluster for proxies - -To set up a proxy, you need to first prepare the cluster and subgroup the proxies will be working with by: - -* Log in and create as many uniquely named proxies as you plan to deploy using [`bdr.create_proxy`](/pgd/latest/reference/routing#bdrcreate_proxy) and passing the new proxy name and the subgroup to attach it to. The [`bdr.create_proxy`](/pgd/latest/reference/routing#bdrcreate_proxy) does not create a proxy, but creates a space for a proxy to register itself with the cluster. The space contains configuration values which can be modified later. Initially it is configured with default proxy options such as setting the `listen_address` to `0.0.0.0`. -* Configure proxy routes to each node by setting route_dsn for each node in the subgroup. The route_dsn is the connection string that the proxy should use to connect to that node. Use [`bdr.alter_node_option`](/pgd/latest/reference/nodes-management-interfaces#bdralter_node_option) to set the route_dsn for each node in the subgroup. -* Create a pgdproxy user on the cluster with a password or other authentication. - -### Configure each host as a proxy - -Once the cluster is ready, you need to configure each host to run pgd-proxy: - -* Create a pgdproxy local user. -* Create a `.pgpass` file for that user that allows the user to log into the cluster as pgdproxy. -* Modify the systemd service file for pgdproxy to use the pgdproxy user. -* Create a proxy config file for the host that lists the connection strings for all the nodes in the subgroup, specifies the name for the proxy to use when fetching proxy options like `listen_address` and `listen_port`. -* Install that file as `/etc/edb/pgd-proxy/pgd-proxy-config.yml`. -* Restart the systemd service and check its status. -* Log in to the proxy and verify its operation. - -Further detail on all these steps is included in the worked example. - -## Worked example - -## Preparing for proxies - -Create a PGD proxy within the cluster using the `bdr.create_proxy` function. -This function takes two parameters: the proxy's unique name and the group you want it to be a proxy for. - -In this example, you want a proxy on each host in the `dc1` subgroup: - -``` -SELECT bdr.create_proxy('pgd-proxy-one','dc1'); -SELECT bdr.create_proxy('pgd-proxy-two','dc1'); -SELECT bdr.create_proxy('pgd-proxy-three','dc1'); -``` - -You can use the [`bdr.proxy_config_summary`](/pgd/latest/reference/catalogs-internal#bdrproxy_config_summary) view to check that the proxies were created: - -```sql -SELECT proxy_name, node_group_name - FROM bdr.proxy_config_summary; -__OUTPUT__ - proxy_name | node_group_name ------------------+----------------- - pgd-proxy-one | dc1 - pgd-proxy-two | dc1 - pgd-proxy-three | dc1 - - bdrdb=# - ``` - -## Create a pgdproxy user on the database - -Create a user named pgdproxy and give it a password. This example uses `proxysecret`. - -On any node, log into the `bdrdb` database as enterprisedb/postgres. - -``` -CREATE USER pgdproxy PASSWORD 'proxysecret'; -GRANT bdr_superuser TO pgdproxy; -``` - -## Configure proxy routes to each node - -Once a proxy has connected, it gets its dsn values (connection strings) from the cluster. The cluster needs to know the connection details that a proxy should use for each node in the subgroup. This is done by setting the `route_dsn` option for each node to a connection string that the proxy can use to connect to that node. - -Please note that when a proxy starts, it gets the initial dsn from the proxy's config file. The route_dsn value set in this step and in config file should match. - -On any node, log into the bdrdb database as enterprisedb/postgres. - -```sql -SELECT bdr.alter_node_option('node-one', 'route_dsn', 'host=host-one dbname=bdrdb port=5444 user=pgdproxy'); -SELECT bdr.alter_node_option('node-two', 'route_dsn', 'host=host-two dbname=bdrdb port=5444 user=pgdproxy'); -SELECT bdr.alter_node_option('node-three', 'route_dsn', 'host=host-three dbname=bdrdb port=5444 user=pgdproxy'); -``` - -Note that the endpoints in this example specify `port=5444`. -This is necessary for EDB Postgres Advanced Server instances. -For EDB Postgres Extended and community PostgreSQL, you can omit this. - -## Create a pgdproxy user on each host - -```shell -sudo adduser pgdproxy -``` - -This user needs credentials to connect to the server. -Create a `.pgpass` file with the `proxysecret` password in it. -Then lock down the `.pgpass` file so it's accessible only by its owner. - -```shell -echo -e "*:*:*:pgdproxy:proxysecret" | sudo tee /home/pgdproxy/.pgpass -sudo chown pgdproxy /home/pgdproxy/.pgpass -sudo chmod 0600 /home/pgdproxy/.pgpass -``` - -## Configure the systemd service on each host - -Switch the service file from using root to using the pgdproxy user. - -```shell -sudo sed -i s/root/pgdproxy/ /usr/lib/systemd/system/pgd-proxy.service -``` - -Reload the systemd daemon. - -```shell -sudo systemctl daemon-reload -``` - -## Create a proxy config file for each host - -The proxy configuration file is slightly different for each host. -It's a YAML file that contains a cluster object. The cluster object has three -properties: - -* The name of the PGD cluster's top-level group (as `name`) -* An array of endpoints of databases (as `endpoints`) -* The proxy definition object with a name and endpoint (as `proxy`) - -The first two properties are the same for all hosts: - -``` -cluster: - name: pgd - endpoints: - - "host=host-one dbname=bdrdb port=5444 user=pgdproxy" - - "host=host-two dbname=bdrdb port=5444 user=pgdproxy" - - "host=host-three dbname=bdrdb port=5444 user=pgdproxy" -``` - -Remember that host-one, host-two, and host-three are the systems on which the cluster nodes (node-one, node-two, node-three) are running. -You use the name of the host, not the node, for the endpoint connection. - -Again, note that the endpoints in this example specify `port=5444`. -This is necessary for EDB Postgres Advanced Server instances. -For EDB Postgres Extended and community PostgreSQL, you can set this to `port=5432`. - -The third property, `proxy`, has a `name` property. -The `name` property is a name created with `bdr.create_proxy` earlier, and it's different on each host. -A proxy can't be on the same port as the Postgres server and, ideally, should be on a commonly used port different from direct connections, even when no Postgres server is running on the host. -Typically, you use port 6432 for PGD proxies. - -``` - proxy: - name: pgd-proxy-one -``` - -In this case, using `localhost` in the endpoint specifies that this proxy will listen on the host where the proxy is running. - -## Install a PGD proxy configuration on each host - -For each host, create the `/etc/edb/pgd-proxy` directory: - -``` -sudo mkdir -p /etc/edb/pgd-proxy -``` - -Then, on each host, write the appropriate configuration to the `pgd-proxy-config.yml` file in the `/etc/edb/pgd-proxy` directory. - -For this example, you can run this on host-one to create the file: - -``` -cat <
For more details, see [Transaction streaming](../transaction-streaming). Applies to top-level group only.| -| `default_commit_scope` | The commit scope to use by default, initially the `local` commit scope. This parameter applies only to the top-level node group. You can use individual rules for different origin groups of the same commit scope. See [Origin groups](../commit-scopes/origin_groups) for more details. | - -### Notes - -This function passes a request to the group consensus mechanism to change -the defaults. The changes made are replicated globally using the consensus -mechanism. - -The function isn't transactional. The request is processed in the background -so you can't roll back the function call. Also, the changes might not be -immediately visible to the current transaction. - -This function doesn't hold any locks. - diff --git a/product_docs/docs/pgd/6/reference/routing.mdx b/product_docs/docs/pgd/6/reference/routing.mdx deleted file mode 100644 index 600be7e26fd..00000000000 --- a/product_docs/docs/pgd/6/reference/routing.mdx +++ /dev/null @@ -1,104 +0,0 @@ ---- -navTitle: Routing functions -title: Routing functions -indexdepth: 3 -rootisheading: false ---- - -### `bdr.create_proxy` - -Create a proxy configuration. - -#### Synopsis - -```sql -bdr.create_proxy(proxy_name text, node_group text, proxy_mode text); -``` - -#### Parameters - -| Name | Type | Default | Description | -|--------------|------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `proxy_name` | text | | Name of the new proxy. | -| `node_group` | text | | Name of the group to be used by the proxy. | -| `proxy_mode` | text | `'default'` | Mode of the proxy. It can be `'default'` (listen_port connections follow write leader, no read_listen_port), `'read-only'` (no listen_port, read_listen_port connections follow read-only nodes), or `'any'` (listen_port connections follow write_leader, read_listen_port connections follow read-only nodes). Default is `'default'`. | - -When proxy_mode is set to `'default'`, all read options in the proxy config are set to NULL. When it's set to `'read-only'`, all write options in the proxy config are set to NULL. When set to `'any'` all options are set to their defaults. - - -### `bdr.alter_proxy_option` - -Change a proxy configuration. - -#### Synopsis - -```sql -bdr.alter_proxy_option(proxy_name text, config_key text, config_value text); -``` - -#### Parameters - -| Name | Type | Default | Description | -|----------------|------|---------|-----------------------------------------------| -| `proxy_name` | text | | Name of the proxy to change. | -| `config_key` | text | | Key of the option in the proxy to change. | -| `config_value` | text | | New value to set for the given key. | - -The table shows the proxy options (`config_key`) that can be changed using this function. - -| Option | Description | -|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `listen_address` | Address for the proxy to listen on. Default is '{0.0.0.0}'. | -| `listen_port` | Port for the proxy to listen on. Default is '6432' in 'default' or 'any' mode and '0' in 'read-only' mode, which disables the write leader following port. | -| `max_client_conn` | Maximum number of connections for the proxy to accept. Default is '32767'. | -| `max_server_conn` | Maximum number of connections the proxy can make to the Postgres node. Default is '32767'. | -| `server_conn_timeout` | Connection timeout for server connections. Default is '2' (seconds). | -| `server_conn_keepalive` | Keepalive interval for server connections. Default is '10' (seconds). | -| `consensus_grace_period` | Duration for which proxy continues to route even upon loss of a Raft leader. If set to 0s, proxy stops routing immediately. Default is generally '6' (seconds) for local proxies and '12' (seconds) for global proxies. These values will be overridden if `raft_response_timeout`, `raft_global_election_timeout`, or `raft_group_election_timeout` are changed from their defaults. | -| `read_listen_address` | Address for the read-only proxy to listen on. Default is '{0.0.0.0}'. | -| `read_listen_port` | Port for the read-only proxy to listen on. Default is '6433' in 'read-only' or 'any' mode and '0' in 'default' mode, which disables the read-only port. | -| `read_max_client_conn` | Maximum number of connections for the read-only proxy to accept. Default is '32767'. | -| `read_max_server_conn` | Maximum number of connections the read-only proxy can make to the Postgres node. Default is '32767'. | -| `read_server_conn_keepalive` | Keepalive interval for read-only server connections. Default is '10' (seconds). | -| `read_server_conn_timeout` | Connection timeout for read-only server connections. Default is '2' (seconds). | -| `read_consensus_grace_period` | Duration for which read-only proxy continues to route even upon loss of a Raft leader. Default is 1 hour. | - -Changing any of these values requires a restart of the proxy. - -### `bdr.drop_proxy` - -Drop a proxy configuration. - -#### Synopsis - -```sql -bdr.drop_proxy(proxy_name text); -``` - -#### Parameters - -| Name | Type | Default | Description | -|--------------|------|---------|-----------------------------------------------| -| `proxy_name` | text | | Name of the proxy to drop. | - -### `bdr.routing_leadership_transfer` - -Changing the routing leader transfers the leadership of the node group to another node. - -#### Synopsis - -```sql -bdr.routing_leadership_transfer(node_group_name text, - leader_name text, - transfer_method text DEFAULT 'strict', - transfer_timeout interval DEFAULT '10s'); -``` - -#### Parameters - -| Name | Type | Default | Description | -|--------------------|----------|----------|---------------------------------------------------------------------------------------------| -| `node_group_name` | text | | Name of group where the leadership transfer is requested. | -| `leader_name` | text | | Name of node that will become write leader. | -| `transfer_method` | text | `'strict'` | Type of the transfer. It can be `'fast'` or the default, `'strict'`, which checks the maximum lag. | -| `transfer_timeout` | interval | '10s' | Timeout of the leadership transfer. Default is 10 seconds. | diff --git a/product_docs/docs/pgd/6/security/pgd-predefined-roles.mdx b/product_docs/docs/pgd/6/security/pgd-predefined-roles.mdx index 97e74fae2a0..43cebb6392a 100644 --- a/product_docs/docs/pgd/6/security/pgd-predefined-roles.mdx +++ b/product_docs/docs/pgd/6/security/pgd-predefined-roles.mdx @@ -83,7 +83,6 @@ EXECUTE privilege on: - [`bdr.node_catchup_state_name`](/pgd/latest/reference/functions-internal#bdrnode_catchup_state_name) - [`bdr.node_kind_name`](/pgd/latest/reference/functions-internal#bdrnode_kind_name) - [`bdr.peer_state_name`](/pgd/latest/reference/functions-internal#bdrpeer_state_name) -- [`bdr.pglogical_proto_version_ranges`](/pgd/latest/reference/functions-internal#bdrpglogical_proto_version_ranges) - [`bdr.show_subscription_status`](/pgd/latest/reference/functions-internal#bdrshow_subscription_status) - [`bdr.show_workers`](/pgd/latest/reference/functions-internal#bdrshow_workers) - [`bdr.show_writers`](/pgd/latest/reference/functions-internal#bdrshow_writers) diff --git a/product_docs/docs/pgd/6/transaction-streaming.mdx b/product_docs/docs/pgd/6/transaction-streaming.mdx index 8e6e53288fa..a024e2e8257 100644 --- a/product_docs/docs/pgd/6/transaction-streaming.mdx +++ b/product_docs/docs/pgd/6/transaction-streaming.mdx @@ -70,9 +70,9 @@ Permitted values are: Default value is `auto`. -Changing this setting requires a restart of the -pglogical receiver process for each subscription for the setting to take effect. You can achieve this with a server -restart. +Changing this setting requires a restart of the pglogical receiver process for each subscription for the setting to take effect. + +You can achieve this with a server restart. If `bdr.default_streaming_mode` is set to any value other than `off`, the subscriber requests transaction streaming from the publisher. How this is diff --git a/product_docs/docs/pgd/6/upgrades/compatibility.mdx b/product_docs/docs/pgd/6/upgrades/compatibility.mdx index ae938f4467f..50effc2ef67 100644 --- a/product_docs/docs/pgd/6/upgrades/compatibility.mdx +++ b/product_docs/docs/pgd/6/upgrades/compatibility.mdx @@ -17,7 +17,8 @@ management configuration. CAMO configuration is now done through [commit scopes](../commit-scopes/commit-scopes). The `bdr.camo_pairs` catalog and any related manipulation functions don't exist -anymore. The `bdr.enable_camo` GUC was removed. +anymore. + The `synchronous_replication_availability` GUC doesn't affect CAMO anymore. Use the `DEGRADE ON ... TO ASYNC` clause of a commit scope. @@ -36,9 +37,6 @@ SELECT bdr.create_commit_scope( ); ``` -The `bdr.global_commit_timeout` GUC was removed. Use the `ABORT ON` clause for the -commit scope. - ## Lag Control Similarly to CAMO and Eager, Lag Control configuration was also moved to From e85bdf519ac945267638b6c349ccbd172c6856cf Mon Sep 17 00:00:00 2001 From: Dj Walker-Morgan Date: Tue, 22 Apr 2025 11:20:28 +0100 Subject: [PATCH 3/6] Configuration changes Signed-off-by: Dj Walker-Morgan --- .../6/cli/command_ref/group/get-option.mdx | 2 +- .../docs/pgd/6/cli/installing/linux.mdx | 4 +-- .../docs/pgd/6/commit-scopes/camo.mdx | 2 +- .../docs/pgd/6/commit-scopes/group-commit.mdx | 3 -- product_docs/docs/pgd/6/ddl/ddl-locking.mdx | 2 ++ .../docs/pgd/6/reference/autopartition.mdx | 2 -- .../pgd/6/reference/catalogs-internal.mdx | 1 - .../docs/pgd/6/reference/catalogs-visible.mdx | 36 +++++++++---------- .../reference/nodes-management-interfaces.mdx | 4 +-- .../docs/pgd/6/reference/pgd-settings.mdx | 12 ++++--- 10 files changed, 33 insertions(+), 35 deletions(-) diff --git a/product_docs/docs/pgd/6/cli/command_ref/group/get-option.mdx b/product_docs/docs/pgd/6/cli/command_ref/group/get-option.mdx index 0ba52568cf6..9b11f69502b 100644 --- a/product_docs/docs/pgd/6/cli/command_ref/group/get-option.mdx +++ b/product_docs/docs/pgd/6/cli/command_ref/group/get-option.mdx @@ -25,7 +25,7 @@ And `