Updated on 2025-05-29 GMT+08:00

Dual-Cluster DR Query Functions

gs_get_local_barrier_status()

Description: If two-city 3DC DR is enabled, the primary cluster and standby cluster for DR synchronize logs. The barrier log is flushed to disks in the primary cluster, and replayed in the standby cluster for DR to determine the archive log progress of the primary cluster and the log replay progress of the standby cluster for DR. gs_get_local_barrier_status is used to query the current log replay status of each node in the standby cluster for DR.

Return type: text

barrier_id: latest barrier ID of a node in the standby cluster for DR.

barrier_lsn: LSN of the latest barrier ID returned by a node in the standby cluster for DR.

archive_lsn: location of archived logs obtained by a node in the standby cluster for DR. This parameter does not take effect currently.

flush_lsn: location of logs that have been flushed to disks on a node in the standby cluster for DR.

gs_hadr_in_recovery()

Description: Checks whether the current node is in barrier-based log restoration if two-city 3DC DR is enabled. If it is in restoration, true is returned. Only after the log restoration is complete, can the standby cluster for DR be promoted to the production cluster during the switchover process. This operation must be performed by system administrators.

Return type: Boolean

This function is used only when a planned switchover is performed in the standby cluster for DR.

gs_streaming_dr_get_switchover_barrier()

Description: Checks whether the CN and main standby DN in the standby cluster for DR have received the switchover barrier logs and replayed the logs in the streaming replication-based two-city 3DC DR solution. If it has, true is returned. In the standby cluster for DR, the procedure for promoting the standby database instance for DR to the production database instance in the switchover process can be started only after the switchover barrier logs of all DNs are replayed (the SYSADMIN permission is required).

Return type: Boolean

Note: This function is used only when a planned switchover is performed in the standby database instance in streaming DR solutions.

gs_streaming_dr_service_truncation_check()

Description: Checks whether the CN and primary DN in the primary cluster has sent the switchover barrier logs in the streaming replication-based two-city 3DC DR solution. If it has, true is returned. The procedure for demoting the production database instance to the standby database instance for DR in the switchover process can be started only after the logs are sent (the SYSADMIN permission is required).

Return type: Boolean

Note: This function is used only when a planned switchover is performed in the standby database instance for DR.

gs_hadr_local_rto_and_rpo_stat()

Description: Displays the log flow control information of the local database instance and standby database instance for streaming DR. (If this command is executed on a node that does not participate in streaming DR, for example, a standby DN or a CN, no information may be returned.)

Return type: record. Table 1 gs_hadr_local_rto_and_rpo_stat parameters describes the column types and meanings.

Table 1 gs_hadr_local_rto_and_rpo_stat parameters

Parameter

Type

Description

hadr_sender_node_name

text

Node name, including the primary database instance and the main standby node of the standby database instance.

hadr_receiver_node_name

text

Name of the main standby node of the standby database instance.

source_ip

text

IP address of the primary DN of the primary database instance.

source_port

int

Communication port of the primary DN of the primary database instance.

dest_ip

text

IP address of the main standby DN of the standby database instance.

dest_port

int

Communication port of the main standby DN of the standby database instance.

current_rto

int

Flow control information, that is, log RTO time of the current primary and standby database instances (unit: second).

target_rto

int

Flow control information, that is, the RTO time between the target primary and standby database instances (unit: second).

current_rpo

int

Flow control information, that is, log RPO time of the current primary and standby database instances (unit: second).

target_rpo

int

Flow control information, that is, the RPO time between the target primary and standby database instances (unit: second).

rto_sleep_time

int

RTO flow control information, that is, the expected sleep time (unit: μs) required by walsender on the host to reach the specified RTO.

rpo_sleep_time

int

RPO flow control information, that is, the expected sleep time (unit: μs) required by xlogInsert on the host to reach the specified RPO.

gs_hadr_remote_rto_and_rpo_stat()

Description: Displays the log flow control information of all other shards or CN database instances and standby database instances for streaming DR. (Generally, this command is executed on CNs. If this command is executed on DNs, no information may be returned.)

Return type: record. Table 2 gs_hadr_remote_rto_and_rpo_stat describes the column types and meanings.

Table 2 gs_hadr_remote_rto_and_rpo_stat

Parameter

Type

Description

hadr_sender_node_name

text

Node name, including the primary database instance and the main standby node of the standby database instance.

hadr_receiver_node_name

text

Name of the main standby node of the standby database instance.

source_ip

text

IP address of the primary DN of the primary database instance.

source_port

int

Communication port of the primary DN of the primary database instance.

dest_ip

text

IP address of the main standby DN of the standby database instance.

dest_port

int

Communication port of the main standby DN of the standby database instance.

current_rto

int

Flow control information, that is, log RTO time of the current primary and standby database instances (unit: second).

target_rto

int

Flow control information, that is, the RTO time between the target primary and standby database instances (unit: second).

current_rpo

int

Flow control information, that is, log RPO time of the current primary and standby database instances (unit: second).

target_rpo

int

Flow control information, that is, the RPO time between the target primary and standby database instances (unit: second).

rto_sleep_time

int

RTO flow control information, that is, the expected sleep time (unit: μs) required by walsender on the host to reach the specified RTO.

rpo_sleep_time

int

RPO flow control information, that is, the expected sleep time (unit: μs) required by xlogInsert on the host to reach the specified RPO.

gs_is_wal_truncate_complete()

Description: Queries whether online log truncation is complete when the standby cluster for DR is promoted to primary. If online log truncation is complete, true is returned. The value is reset each time the query is complete.

Return type: Boolean

Remarks: This function is used only when the standby cluster for DR is promoted to primary.