云数据库 GAUSSDB-备份恢复控制函数:恢复控制函数
恢复控制函数
恢复信息函数提供了当前备机状态的信息。这些函数可能在恢复期间或正常运行中执行。
- pg_is_in_recovery()
返回值类型:Boolean
- pg_last_xlog_receive_location()
描述:获取最后接收事务日志的位置并通过流复制将其同步到磁盘。当流复制正在进行时,事务日志将持续递增。如果恢复已完成,则最后一次获取的WAL记录会被静态保持并在恢复过程中同步到磁盘。如果流复制不可用,或还没有开始,这个函数返回NULL。
返回值类型:text
- pg_last_xlog_replay_location()
描述:获取最后一个事务日志在恢复时重放的位置。如果恢复仍在进行,事务日志将持续递增。如果已经完成恢复,则将保持在恢复期间最后接收WAL记录的值。如果未进行恢复但服务器正常启动时,则这个函数返回NULL。
返回值类型:text
- pg_last_xact_replay_timestamp()
描述:获取最后一个事务在恢复时重放的时间戳。这是为在主节点上生成事务提交或终止WAL记录的时间。如果在恢复时没有事务重放,则这个函数返回NULL。如果恢复仍在进行,则事务日志将持续递增。如果恢复已经完成,则将保持在恢复期间最后接收WAL记录的值。如果服务器无需恢复就已正常启动,则这个函数返回NULL。
返回值类型:timestamp with time zone
恢复控制函数控制恢复的线程。这些函数可能只在恢复时被执行。
- pg_is_xlog_replay_paused()
返回值类型:Boolean
- pg_xlog_replay_pause()
返回值类型:void
- pg_xlog_replay_resume()
返回值类型:void
- gs_get_active_archiving_standby()
描述:查询同一分片内归档备机的信息。返回备机名,备机归档位置和已归档日志个数。
返回值类型:text,int
- gs_pitr_get_warning_for_xlog_force_recycle()
描述:查询开启归档后是否因归档槽不推进日志大量堆积导致日志被回收。
返回值类型:Boolean
- gs_pitr_clean_history_global_barriers(stop_barrier_timestamp cstring)
描述:清理指定时间之前所有barrier记录。返回时间最远的barrier记录。入参为cstring类型,linux时间戳。需要管理员角色或运维管理员角色执行。
返回值类型:text
- gs_pitr_archive_slot_force_advance(stop_barrier_timestamp cstring)
描述:强制推进归档槽,并清理不需要的barrier记录。返回新的归档槽位置。入参为cstring类型,linux时间戳。需要管理员角色或运维管理员角色执行。
返回值类型:text
- gs_recent_barrier_buffer_info(start_time text, end_time text)
描述:根据用户输入的时间范围,进行相应的barrier信息查询,获取time_stamp、 CS N、LSN和standard_time。
返回值类型:records
说明:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限。输入参数start_time和end_time采用“年-月-日 时间”格式,其中时间采用clock格式。查询最大时间跨度为1天,超出跨度约束,根据查询起始时间将结束时间自动转换为极限边界进行查询。例如:gaussdb=# SELECT * FROM gs_recent_barrier_buffer_info('2024-01-15 23:27:50', '2024-01-15 23:28:00'); timestamp | lsn | csn | standard_time ------------+-------------------+----------+--------------------- 1705332470 | 00000000/15FFBBA0 | 41020421 | 2024-01-15 23:27:50 1705332471 | 00000000/15FFBDF0 | 41020422 | 2024-01-15 23:27:51 1705332472 | 00000000/15FFC058 | 41020423 | 2024-01-15 23:27:52 1705332472 | 00000000/15FFC0F8 | 41020424 | 2024-01-15 23:27:52 1705332473 | 00000000/15FFC348 | 41020425 | 2024-01-15 23:27:53 1705332474 | 00000000/15FFC598 | 41020426 | 2024-01-15 23:27:54 1705332475 | 00000000/15FFC638 | 41020427 | 2024-01-15 23:27:55 1705332476 | 00000000/15FFC888 | 41020428 | 2024-01-15 23:27:56 1705332476 | 00000000/15FFDC80 | 41020433 | 2024-01-15 23:27:56 1705332477 | 00000000/15FFDD20 | 41020434 | 2024-01-15 23:27:57 1705332478 | 00000000/15FFDF70 | 41020435 | 2024-01-15 23:27:58 1705332479 | 00000000/15FFE1D8 | 41020436 | 2024-01-15 23:27:59 1705332480 | 00000000/15FFE278 | 41020437 | 2024-01-15 23:28:00 1705332480 | 00000000/15FFE4C8 | 41020438 | 2024-01-15 23:28:00 (14 rows)
- gs_show_obs_media_files(slot_name cstring, src cstring, offset int32, limit int32)
描述:根据用户输入的归档槽(slot_name)和OBS目录地址(src),查询OBS文件列表。
返回值类型:records
说明:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限。Offset为查询结果偏移,limit为输出最大行数,查询src下所有文件。例如:gaussdb=# SELECT gs_show_obs_archive_files('ssh','cn_5001/pg_xlog',1, 5); gs_show_obs_archive_files ------------------------------------------------------------------------------------------------- (wstdist_ssh/archive/cn_5001/pg_xlog/000000010000000000000010_01_01_00000000_00000000_00000003) (wstdist_ssh/archive/cn_5001/pg_xlog/000000010000000000000010_02_01_00000000_00000000_00000003) (wstdist_ssh/archive/cn_5001/pg_xlog/000000010000000000000010_03_01_00000000_00000000_00000003) (wstdist_ssh/archive/cn_5001/pg_xlog/000000010000000000000011_00_01_00000000_00000000_00000003) (wstdist_ssh/archive/cn_5001/pg_xlog/000000010000000000000011_01_01_00000000_00000000_00000003) (5 rows)
- gs_upload_obs_media_file(slot_name cstring, src cstring, dest cstring, is_forced bool)
描述:根据用户输入的归档槽(slot_name)、上传文件原地址(src)、OBS地址(dest)和是否强制上传(is_forced),上传OBS文件。
返回值类型:void
说明:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限。原文件目录仅允许为$GAUSS LOG 目录。例如:gaussdb=# SELECT * FROM gs_upload_obs_media_file('ssh', '/data/gauss/log/stwang/test/000000010000000000000019_02_01_00000000_00000000_00000003', 'cn_5001/pg_xlog/000000010000000000000019_02_01_00000000_00000000_00000003', true); gs_upload_obs_media_file ---------------------------- (1 row)
- gs_download_obs_media_file(slot_name cstring, src cstring, dest cstring)
描述:根据用户输入的归档槽(slot_name)、下载原地址(src)和本地目标地址(dest),下载OBS文件。
返回值类型:void
说明:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限。下载目录仅允许为$GAUSSLOG目录。例如:gaussdb=# SELECT * FROM gs_download_obs_media_file('ssh','cn_5001/pg_xlog/000000010000000000000019_02_01_00000000_00000000_00000003','/data/gauss/log/stwang/test'); gs_download_obs_media_file ------------------------------ (1 row)
当恢复暂停时,没有发生数据库更改。如果是在热备里,所有新的查询将看到一致的数据库快照,并且不会有进一步的查询冲突产生,直到恢复继续。
如果不能使用流复制,则暂停状态将无限的延续。当流复制正在进行时,将连续接收WAL记录,最终将填满可用磁盘空间,这个进度取决于暂停的持续时间,WAL生成的速度和可用的磁盘空间。