双数据库实例容灾控制函数
双数据库实例容灾控制函数可以创建归档槽,归档槽指定了保存物理日志的obs信息。
- pg_create_physical_replication_slot_extern(slotname text, dummy_standby bool, extra_content text, need_recycle_xlog bool)
描述:创建OBS/NAS归档槽。slotname 为本次灾备的slotname ,主备必须使用同一个slotname 。dummy_standby标志是否是一主多备,false表示一主多备,true表示否。extra_content包含了归档槽的一些信息。对于OBS归档槽,其格式为"OBS;obs_server_ip;obs_bucket_name;obs_ak;obs_sk;archive_path;is_recovery;is_vote_replicate",OBS表示归档槽的归档的介质,obs_server_ip为obs的ip,obs_bucket_name为obs的桶名,obs_ak为obs的ak,obs_sk为obs的sk,archive_path为归档的路径i,is_recovery标志是归档槽还是恢复槽,0表示是归档槽,主要是主数据库实例使用;1表示是恢复槽,主要是灾备数据库实例使用。is_vote_replicate标志是否是投票副本优先,0表示同步备机归档优先,1表示投票副本归档优先,当前版本该字段为预留字段,暂未适配。对于NAS归档槽,其格式为"NAS;archive_path;is_recovery;is_vote_replicate",相比OBS归档槽,缺少了OBS相关的配置信息,其余字段意义相同。
如果是不指定OBS或NAS介质的话,默认指定的是OBS归档槽,其extra_content格式为"obs_server_ip;obs_bucket_name;obs_ak;obs_sk;archive_path;is_recovery;is_vote_replicate"。need_recycle_xlog表示创建归档槽时是否回收老的归档日志,true表示回收,false表示不回收。
返回值类型:records包含本次灾备的slotname和xlog_position。
备注:调用该函数的用户需要具有SYSADMIN权限或具有REPLICATION权限或继承了内置角色gs_role_replication的权限。目前不支持创建多归档槽。
例如:
创建OBS归档槽:
1 2 3 4 5
openGauss=# select * from pg_create_physical_replication_slot_extern('uuid', false, 'OBS;obs.cn-north-7.ulanqab.huawei.com;dyk;19D772JBCACXX3KWS51D;********;openGauss_uuid/dn1;0;0', false); slotname | xlog_position ----------+--------------- uuid | (1 row)
创建NAS归档槽:
1 2 3 4
openGauss=# select * from pg_create_physical_replication_slot_extern('uuid', false, 'NAS;/data/nas/media/openGauss_uuid/dn1;0;0',false); slotname | xlog_position ----------+--------------- uuid |
- gs_set_obs_delete_location(delete_location text)
描述:设置obs归档日志可删除的位置。delete_location实际为Log Sequence Number ( LSN ),该位置之前的日志在灾备数据库实例已经完成回放并且落盘,可以在obs上进行删除。
返回值类型:xlog_file_name text,表明此次可删除点所在的日志文件名。无论obs删除是否成功,该值都会正常返回。
openGauss=# select gs_set_obs_delete_location('0/54000000'); gs_set_obs_delete_location ----------------------------- 000000010000000000000054_00 (1 row)
- gs_set_obs_delete_location_with_slotname(cstring, cstring )
描述:设置某个容灾关系上obs归档日志可删除的位置。第一个参数实际为Log Sequence Number ( LSN ),该位置之前的日志在灾备数据库实例已经完成回放并且落盘,可以在obs上进行删除,第二个参数为归档槽的名称。
返回值类型:xlog_file_name text,表明此次可删除点所在的日志文件名。无论obs删除是否成功,该值都会正常返回。
- gs_hadr_do_switchover()
描述:基于OBS的异地容灾解决方案中主数据库实例在执行计划内switchover过程中截断业务的接口。
返回值类型:bool,表明此次业务截断是否成功,是否可以正常进行switchover流程。
- gs_streaming_dr_in_switchover()
描述:基于流式复制的异地容灾解决方案中主数据库实例在执行计划内switchover过程中截断业务的接口。
返回值类型:bool,表明此次业务截断是否成功,是否可以正常进行switchover流程。