归档
archive_mode
参数说明: 表示是否进行归档操作。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
当wal_level设置成minimal时,archive_mode参数无法使用。
取值范围:布尔型
- on表示进行归档。
- off表示不进行归档。
默认值: off
archive_command
参数说明: 由管理员设置的用于归档WAL日志的命令,建议归档路径为绝对路径。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
- 当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。
- 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。
这个命令当且仅当成功的时候才返回零。示例如下:
archive_command = 'cp --remove-destination %p /mnt/server/archivedir/%f'
--remove-destination
选项作用为:拷贝前如果目标文件已存在,会先删除已存在的目标文件,然后执行拷贝操作。如果归档命令有多条,则需将其写入SHELL脚本文件中,然后将archive_command配置为执行该脚本的命令。示例如下:
--假设多条命令如下。 test ! -f dir/%f && cp %p dir/%f --则test.sh脚本内容如下。 test ! -f dir/$2 && cp $1 dir/$2 --归档命令如下。 archive_command='sh dir/test.sh %p %f'
取值范围:字符串
默认值: (disabled)
archive_dest
参数说明: 由管理员设置的用于归档WAL日志的目录,建议归档路径为绝对路径。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
- 当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。
字符串中如果是相对路径为相对于数据目录的。示例如下。
archive_dest = '/mnt/server/archivedir/'
取值范围:字符串
默认值: 空字符串
archive_timeout
参数说明:表示归档周期。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
- 超过该参数设定的时间时强制切换WAL段。
- 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。
取值范围:整型,0 ~ 1073741823,单位为秒。其中0表示禁用该功能。
默认值:0
archive_interval
参数说明:表示归档间隔时间。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
- 超过该参数设定的时间时强制归档日志文件。
- 由于归档有I/O操作,不可过于频繁的归档,也不能设置较大影响PITR的RPO建议使用默认值。
取值范围:整型,1 ~ 1000,单位为秒。
默认值:1s
time_to_target_rpo
参数说明: 双数据库实例异地灾备模式下,设置主数据库实例发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围: 字符串
双数据库实例异地灾备模式下,主数据库实例日志将被归档到OBS。
0是指不开启日志流控,
1~3600是指设置主数据库实例发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒,保证主数据库实例因灾难崩溃时,最多可能丢失的数据的时长在允许范围内。
time_to_target_rpo设置时间过小会影响主机的性能,设置过大会失去流控效果。
默认值: 0
max_archive_directory_size
参数说明:用于控制archive_dest指定的归档文件所在挂载点或文件系统的空间限制操作。若开启本参数,则将在一个归档日志落盘后检查归档目录所在挂载点或文件系统已用空间大小,判断是否进行告警或删除操作。
推荐在归档目录独享设备挂载点的场景下使用本参数。
不建议在生产环境开启此参数。因为开启此参数可能会影响数据库异常后的数据恢复完整性。当进行恢复时,若所需归档日志已被删除,则数据无法被恢复。
删除过程与归档过程是串行的,因此删除过多文件的耗时会影响到归档的进度。
该参数仅在数据库版本为V2.2 Build 15(Patch No.3)及以上版本支持。
当归档目录所在挂载点或文件系统已用空间大小达到了 max_archive_directory_size 设置值的85%时将触发告警动作,系统将告警信息写入数据库日志,警示用户尽快手动删除归档目录下的无用日志或扩充目录空间。
当归档目录所在挂载点或文件系统已用空间大小达到了 max_archive_directory_size 设置值的95%时将触发删除动作,所删除文件的LSN不大于主库和备库的日志文件的最小LSN,删除逻辑如下:
1、获取最近REDO点的LSN号记为A,若A>wal_keep_segments则B=A-wal_keep_segment;否则B=1。
2、获取复制槽中需要的最小LSN号记作C,若C为0则C=1;否则C为原值。
3、获取全量或增量BUILD开始的LSN号记作D,若D为0则C=1;否则D为原值。
4、获取符合enable_xlog_prune参数处理的需要保留的最小的段文件的编号记作E。
5、获取ABCDE的最小值记作H,当H=1或2时不删除归档文件;当H>2时,删除文件的范围是[F,((H-2)-F)/2+F]。(其中F为archive_dest目录中归档文件的最小段文件编号)
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:0~当前archive_dest指定的目录挂载点大小,可设置的最大值为252-1。本参数设置取值无单位时默认为KB,且支持指定单位KB、MB、GB。
默认值:0,表示不开启本功能。