更新时间:2023-10-23 GMT+08:00

归档

archive_mode

参数说明:表示是否进行归档操作。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

  • wal_level设置成minimal时,archive_mode参数无法使用。
  • 无论是同步备机还是异步备机都能够开启归档,归档开启的方式与单机开启归档一致,将archive_mode置为on,并设置正确的archive_dest或者archive_command即可。
  • 若未开启最大可用模式以及有同步备机与主机断开连接时,主机会因为业务阻塞的原因无法给备机发送归档的位置,从而导致归档失败。

取值范围: 布尔型

  • on表示进行归档。
  • off表示不进行归档。

默认值:off

archive_command

参数说明:由管理员设置的用于归档WAL日志的命令,建议归档路径为绝对路径。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

  • 当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。
  • 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。
  • 这个命令当且仅当成功的时候才返回零。示例如下:
    1
    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配置的命令不生效。
  • 字符串中如果是相对路径为相对于数据目录的。示例如下。
    1
    archive_dest = '/mnt/server/archivedir/'
    

取值范围:字符串

默认值:空字符串

archive_timeout

参数说明:表示归档周期。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

  • 超过该参数设定的时间时强制切换WAL段。
  • 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。

取值范围:整型,0 ~ 1073741823,单位为秒。其中0表示禁用该功能。

默认值:0

archive_interval

参数说明:表示归档间隔时间。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

  • 超过该参数设定的时间时强制归档日志文件。
  • 由于归档有IO操作,不可过于频繁的归档,也不能设置较大影响PITR的RPO建议使用默认值。

取值范围:整型,1 ~ 1000‬,单位为秒。

默认值:1

time_to_target_rpo

参数说明:

双数据库实例异地灾备模式下,设置主数据库实例发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0~3600(秒)

双数据库实例异地灾备模式下,主数据库实例日志将被归档到OBS。0是指不开启日志流控,1~3600是指设置主数据库实例发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒,保证主数据库实例因灾难崩溃时,最多可能丢失的数据的时长在允许范围内。time_to_target_rpo设置时间过小会影响主机的性能,设置过大会失去流控效果。

默认值:0