云数据库 GAUSSDB-备份恢复控制函数:备份控制函数
备份控制函数
备份控制函数可帮助进行在线备份。
- pg_create_restore_point(name text)
返回值类型:text
备注:pg_create_restore_point创建了一个可以用作恢复目的、有命名的事务日志记录,并返回相应的事务日志位置。在恢复过程中,recovery_target_name可以通过这个名称定位对应的日志恢复点,并从此处开始执行恢复操作。避免使用相同的名称创建多个恢复点,因为恢复操作将在第一个匹配(恢复目标)的名称上停止。
- pg_current_xlog_location()
返回值类型:text
备注:pg_current_xlog_location使用与前面那些函数相同的格式显示当前事务日志的写入位置。如果是只读操作,不需要系统管理员权限。
- pg_current_xlog_insert_location()
返回值类型:text
备注:pg_current_xlog_insert_location显示当前事务日志的插入位置。插入点是事务日志在某个瞬间的“逻辑终点”,而实际的写入位置则是从服务器内部缓冲区写出时的终点。写入位置是可以从服务器外部检测到的终点,如果要归档部分完成事务日志文件,则该操作即可实现。插入点主要用于服务器调试目的。如果是只读操作,不需要系统管理员权限。
- gs_current_xlog_insert_end_location()
返回值类型:text
备注:gs_current_xlog_insert_end_location显示当前事务日志的实际插入位置。
- pg_start_backup(label text [, fast boolean ])
描述:开始执行在线备份。(需要管理员角色、复制的角色或运维管理员角色打开operation_mode)
返回值类型:text
备注:pg_start_backup接受一个用户定义的备份标签(通常这是备份转储文件存放地点的名称)。这个函数向数据库的数据目录写入一个备份标签文件,然后以文本方式返回备份的事务日志起始位置。
1 2 3 4 5
openGauss=# SELECT pg_start_backup('label_goes_here'); pg_start_backup ----------------- 0/3000020 (1 row)
- pg_stop_backup()
描述:完成执行在线备份。(需要管理员角色、复制的角色或运维管理员角色打开operation_mode)
返回值类型:text
备注:pg_stop_backup删除pg_start_backup创建的标签文件,并且在事务日志归档区里创建一个备份历史文件。这个历史文件包含给予pg_start_backup的标签、备份的事务日志起始与终止位置、备份的起始和终止时间。返回值是备份的事务日志终止位置。计算出中止位置后,当前事务日志的插入点将自动前进到下一个事务日志文件,这样,结束的事务日志文件可以被立即归档从而完成备份。
- pg_switch_xlog()
描述:切换到一个新的事务日志文件。(需要管理员角色或运维管理员角色打开operation_mode)
返回值类型:text
备注:pg_switch_xlog移动到下一个事务日志文件,以允许将当前日志文件归档(假定使用连续归档)。返回值是刚完成的事务日志文件的事务日志结束位置+1。如果从最后一次事务日志切换以来没有活动的事务日志,则pg_switch_xlog不进行移动操作,直接返回当前事务日志文件的开始位置。
- pg_xlogfile_name(location text)
返回值类型:text
备注:pg_xlogfile_name仅抽取事务日志文件名称。如果给定的事务日志位置恰好位于事务日志文件的交界上,这两个函数都返回前一个事务日志文件的名称。这对于管理事务日志归档来说是非常有利的,因为前一个文件是当前最后一个需要归档的文件。
- pg_xlogfile_name_offset(location text)
描述:将事务日志的位置字符串转换为文件名并返回在文件中的字节偏移量。
返回值类型:text,integer
备注:可以使用pg_xlogfile_name_offset从前述函数的返回结果中抽取相应的事务日志文件名称和字节偏移量。例如:
1 2 3 4 5 6 7
openGauss=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived NOTICE: pg_stop_backup complete, all required WAL segments have been archived file_name | file_offset --------------------------+------------- 000000010000000000000003 | 272 (1 row)
- pg_xlog_location_diff(location text, location text)
返回值类型:numeric
- pg_cbm_tracked_location()
返回值类型:text
- pg_cbm_get_merged_file(startLSNArg text, endLSNArg text)
描述:用于将指定lsn范围之内的cbm文件合并成一个cbm文件,并返回合并完的cbm文件名。
返回值类型:text
备注:必须是系统管理员或运维管理员才能获取cbm合并文件。
- pg_cbm_get_changed_block(startLSNArg text, endLSNArg text)
描述:用于将指定lsn范围之内的cbm文件合并成一个表,并返回表的各行记录。
返回值类型:records
备注:pg_cbm_get_changed_block返回的表字段包含:合并起始的lsn、合并截止的lsn、表空间oid、库oid、表的relfilenode、表的fork number、表是否被删除、表是否被创建、表是否被截断、表被截断后的页面数、有多少页被修改以及被修改的页号的列表。
- pg_cbm_recycle_file(targetLSNArg text)
描述:删除不再使用的cbm文件,并返回删除后的第一条lsn。
返回值类型:text
- pg_cbm_force_track(targetLSNArg text,timeOut int)
描述:强制执行一次cbm追踪到指定的xLog位置,并返回实际追踪结束点的xLog位置。
返回值类型:text
- pg_enable_delay_ddl_recycle()
描述:开启延迟DDL功能,并返回开启点的xLog位置。需要管理员角色或运维管理员角色打开operation_mode。
返回值类型:text
- pg_disable_delay_ddl_recycle(barrierLSNArg text, isForce bool)
描述:关闭延迟DDL功能,并返回本次延迟DDL生效的xLog范围。需要管理员角色或运维管理员角色打开operation_mode。
返回值类型:records
- pg_enable_delay_xlog_recycle()
描述:开启延迟xLog回收功能,数据库主节点修复使用。需要管理员角色或运维管理员角色打开operation_mode。
返回值类型:void
- pg_disable_delay_xlog_recycle()
描述:关闭延迟xLog回收功能,数据库主节点修复使用。需要管理员角色或运维管理员角色打开operation_mode。
返回值类型:void
- pg_cbm_rotate_file(rotate_lsn text)
描述:等待cbm解析到rotate_lsn之后,强制切换文件,在build期间调用。
返回值类型:void。
- gs_roach_stop_backup(backupid text)
描述:停止一个内部备份工具GaussRoach开启的备份。与pg_stop_backup系统函数类似,但更轻量。
返回值类型:text,内容为当前日志的插入位置。
- gs_roach_enable_delay_ddl_recycle(backupid name)
描述:开启延迟DDL功能,并返回开启点的日志位置。与pg_enable_delay_ddl_recycle系统函数类似,但更轻量。并且,通过传入不同的backupid,可以支持并发打开延迟DDL。
返回值类型:text,内容为返回开启点的日志位置。
- gs_roach_disable_delay_ddl_recycle(backupid text)
描述:关闭延迟DDL功能,并返回本次延迟DDL生效的日志范围。与pg_enable_delay_ddl_recycle系统函数类似,但更轻量。并且,通过传入不同的backupid,可以支持并发关闭延迟DDL功能。
返回值类型:records,内容为本次延迟DDL生效的日志范围。
- gs_roach_switch_xlog(request_ckpt bool)
描述:切换当前使用的日志段文件,并且,如果request_ckpt为true,则触发一个全量检查点。
返回值类型:text,内容为切段日志的位置。
- gs_block_dw_io(timeout int, identifier text)
参数说明:
返回值类型:bool
备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。
- gs_is_dw_io_blocked()
描述:查看当前双写页面刷盘是否被阻塞,如果处于阻塞中则返回true。
返回值类型:bool
备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。