云数据库 GAUSSDB-备份控制函数:pg_create_physical_replication_slot_extern(slotname text, dummy_standby bool, extra_content text, need_recycle_xlog bool)

时间:2025-06-03 09:35:44

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是预留参数。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为归档的路径,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归档槽:

其中obs_server_ip、obs_bucket_name、obs_ak、obs_sk为OBS的IP地址、桶名、AK、SK信息,gaussdb_uuid/dn1为日志在OBS对应桶下的归档路径,使用时需要根据实际信息进行替换。

1
2
3
4
5
gaussdb=# SELECT * FROM pg_create_physical_replication_slot_extern('uuid', false, 'OBS;obs_server_ip;obs_bucket_name;obs_ak;obs_sk;gaussdb_uuid/dn1;0;0', false);
 slotname | xlog_position
----------+---------------
 uuid     |
(1 row)

创建NAS归档槽:

其中/data/nas/media/gaussdb_uuid/dn1为日志在NAS上对应的归档路径,使用时需要根据实际信息进行替换。

1
2
3
4
gaussdb=# SELECT * FROM pg_create_physical_replication_slot_extern('uuid', false, 'NAS;/data/nas/media/gaussdb_uuid/dn1;0;0',false);
 slotname | xlog_position
----------+---------------
 uuid     |
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-2057.html