更新时间:2024-08-20 GMT+08:00

双数据库实例容灾查询函数

  • gs_get_local_barrier_status()

    描述:两地三中心跨Region容灾特性开启后,主数据库实例和灾备数据库实例进行日志同步,通过barrier日志在主数据库实例的落盘,在灾备数据库实例的回放来确定主数据库实例归档日志进度与灾备数据库实例日志回放进度。gs_get_local_barrier_status用于查询灾备数据库实例每个节点当前的日志回放情况。

    返回值类型:text

    barrier_id:灾备数据库实例某节点当前回放到的最新barrier ID。

    barrier_lsn:灾备数据库实例某节点当前回放到的最新barrier ID的Log Sequence Number ( LSN )。

    archive_lsn:灾备数据库实例某节点当前已获得归档日志的位置,该参数当前未生效。

    flush_lsn:灾备数据库实例某节点当前已完成刷盘日志位置。

    gaussdb=# select * from gs_get_local_barrier_status();
     barrier_id |    barrier_lsn    |    archive_lsn    |     flush_lsn     
    ------------+-------------------+-------------------+-------------------
                | 00000000/00000000 | 00000000/00000000 | 00000000/00000000
    (1 row)
  • gs_hadr_in_recovery()

    描述:两地三中心跨Region容灾特性开启后,查询当前节点是否处于基于目标barrier的日志恢复中,还在恢复中返回true。只有完成日志恢复,才会启动switchover流程中的灾备数据库实例升为生产数据库实例的步骤(需要系统管理员角色)。

    返回值类型:Boolean

    备注:该函数只有在容灾数据库实例启动计划内switchover时使用。

    gaussdb=# select * from gs_hadr_in_recovery();
     is_in_recovery 
    ----------------
     t
    (1 row)
  • gs_streaming_dr_get_switchover_barrier()

    描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询灾备数据库实例的DN实例是否已接收到switchover barrier日志并完成回放,已完成返回true。灾备数据库实例只有在所有DN实例都完成switchover barrier日志回放,才会启动switchover流程中的灾备数据库实例升为生产数据库实例的步骤(需要系统管理员角色)。

    返回值类型:Boolean

    备注:该函数只有在流式容灾解决方案中容灾数据库实例启动计划内switchover时使用。

    gaussdb=# select * from gs_streaming_dr_get_switchover_barrier();
     get_switchover_barrier 
    ------------------------
     f
    (1 row)
  • gs_streaming_dr_service_truncation_check()

    描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询主数据库实例的DN实例是否已完成switchover barrier日志发送,已完成返回true。只有完成日志发送,才会启动switchover流程中的生产数据库实例降为灾备数据库实例的步骤(需要系统管理员角色)。

    返回值类型:Boolean

    备注:该函数只有在容灾数据库实例启动计划内switchover时使用。

    gaussdb=# select * from gs_streaming_dr_service_truncation_check();
     complete_truncation 
    ---------------------
     f
    (1 row)
  • gs_hadr_local_rto_and_rpo_stat()

    描述:显示流式容灾的主数据库实例和备数据库实例日志流控信息(只可在主数据库实例的主DN使用,备DN以及备数据库实例均上不可获取到统计信息)。

    返回值类型:record,具体各个字段的类型和含义如表1所示。

    表1 gs_hadr_local_rto_and_rpo_stat参数说明

    参数

    类型

    描述

    hadr_sender_node_name

    text

    节点的名称,包含主数据库实例和备数据库实例首备。

    hadr_receiver_node_name

    text

    备数据库实例首备名称。

    source_ip

    text

    主数据库实例主DN IP地址。

    source_port

    int

    主数据库实例主DN通信端口。

    dest_ip

    text

    备数据库实例首备DN IP地址。

    dest_port

    int

    备数据库实例首备DN通信端口。

    current_rto

    int

    流控的信息,当前主备数据库实例的日志rto时间(单位:秒)。

    target_rto

    int

    流控的信息,目标主备数据库实例间的rto时间(单位:秒)。

    current_rpo

    int

    流控的信息,当前主备数据库实例的日志rpo时间(单位:秒)。

    target_rpo

    int

    流控的信息,目标主备数据库实例间的rpo时间(单位:秒)。

    rto_sleep_time

    int

    RTO流控信息,为了达到目标rto,预期主机walsender所需要的睡眠时间(单位:微秒)。

    rpo_sleep_time

    int

    RPO流控信息,为了达到目标rpo,预期主机xlogInsert所需要的睡眠时间(单位:微秒)。

    gaussdb=# select * from gs_hadr_local_rto_and_rpo_stat();
     hadr_sender_node_name | hadr_receiver_node_name |  source_ip   | source_port |   dest_ip    | dest_port | current_rto | target_rto | current_rpo | target_rpo | rto_sleep_time | rpo_sleep_time 
    -----------------------+-------------------------+--------------+-------------+--------------+-----------+-------------+------------+-------------+------------+----------------+----------------
     dn_6001_6002_6003     | cluster_b_hadr_dn_6001  | <IP> |        <PORT> | <IP> |     <PORT> |           0 |          0 |           0 |          0 |              0 |              0
    (1 row)
  • gs_hadr_remote_rto_and_rpo_stat()

    描述:显示流式容灾其它非本地数据分片的主数据库实例和备数据库实例日志流控信,集中式部署场景不支持该函数。