Updated on 2024-05-07 GMT+08:00

DR Query Functions for Dual-Database Instances

  • gs_get_local_barrier_status()

    Description: If two-city 3DC DR is enabled, logs of the primary database instance and DR database instance are synchronized. The progress of the primary database instance's archived logs and the standby database instance's log replay is determined by flushing barrier logs to the primary database instance and replaying them on the standby database instance. gs_get_local_barrier_status is used to query the current log replay status of each node of the DR database instance.

    Return type: text

    barrier_id: latest barrier ID of a node of the DR database instance.

    barrier_lsn: LSN of the latest barrier ID returned by a node in the DR database instance.

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

    flush_lsn: location of logs that have been flushed to disks on a node in the DR database instance.

  • gs_hadr_has_barrier_creator()

    Description: Checks whether the barrier_creator thread exists on the current node if two-city 3DC DR is enabled. If yes, true is returned (restricted to the system administrator).

    Return type: Boolean

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

  • gs_hadr_in_recovery()

    Description: Checks whether the current node is in barrier-based log restoration if two-city 3DC DR is enabled. If yes, true is returned. The DR database instance can be promoted to the production database instance through the switchover process only after the log restoration is complete (restricted to the system administrator).

    Return type: Boolean

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

  • gs_streaming_dr_get_switchover_barrier()

    Description: Checks whether the DN instance of the DR database instance has received the switchover barrier logs and replayed the logs in two-city 3DC DR solutions based on streaming replication. If it has, true is returned. In the DR database instance, the procedure for promoting the DR database instance to the production database instance in the switchover process can be started only after the switchover barrier logs of all DN instances are replayed (restricted to the system administrator).

    Return type: Boolean

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

  • gs_streaming_dr_service_truncation_check()

    Description: Checks whether the DN instance of the primary database instance has sent the switchover barrier logs in two-city 3DC DR solutions based on streaming replication. If it has, true is returned. The procedure for demoting the production database instance to the DR database instance in the switchover process can be started only after the logs are sent (restricted to the system administrator).

    Return type: Boolean

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

  • gs_hadr_local_rto_and_rpo_stat()

    Description: Displays the log flow control information about the primary and standby database instances in the streaming DR scenario. (This view can be used only on the primary DN of the primary database instance. Statistics cannot be obtained from the standby DN or the standby database instance.)

    The return value type is record. The types and meanings of the columns are as described in Table 1.

    Table 1 Parameters of gs_hadr_local_rto_and_rpo_stat

    Parameter

    Type

    Description

    hadr_sender_node_name

    text

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

    hadr_receiver_node_name

    text

    Name of the first 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 first standby DN of the standby database instance.

    dest_port

    int

    Communication port of the first 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 the primary and standby database instances of other non-local data shards in streaming DR mode. This function is not supported in centralized deployment scenarios.