postgresql recovery.conf文件详解

转载自: http://www.bubuko.com/infodetail-2731162.html

在恢复过程中,用户可以通过使用recovery.conf文件来指定恢复的各个参数,如下:

归档恢复设置

restore_command:用于获取一个已归档段的XLOG日志文件的命令
archive_cleanup_command:清除不在需要的XLOG日志文件的命令
recovery_end_command:归档恢复结束后执行的命令
恢复目标设置(默认情况下,数据库将会一直恢复到 WAL 日志的末尾)

recovery_target = ’immediate’:在从一个在线备 份中恢复时,这意味着备份结束的那个点
recovery_target_name (string):这个参数指定(pg_create_restore_point()所创建)的已命名的恢复点,将恢复到该恢复点
recovery_target_time (timestamp):这个参数指定恢复到的时间戳
recovery_target_xid (string):这个参数指定恢复到的事务 ID
recovery_target_inclusive (boolean):指定是否在指定的恢复目标之后停止(true),或者在恢复目标之前停止 (false);适用于recovery_target_time或者recovery_target_xid被指定的情况;这个设置分别控制事务是否有准确的目标提交时间或 ID 是否将被包括在该恢复中;默认值为 true
recovery_target_timeline (string):指定恢复到一个特定的时间线
recovery_target_action (enum):指定在达到恢复目标时服务器应该立刻采取的动作,包括pause(暂停)、promote(接受连接)、shutdown(停止服务器),其中pause为默认动作
备库参数设置

standby_mode(boolean):为on表示作为一个备库,否则不为备库
primary_conninfo (string):指定备库连接主库的连接字符串
primary_slot_name (string):通过流复制指定主库的一个复制槽来复制主库数据,如果没有设置primary_conninfo,则此参数无效
trigger_file (string):指定一个触发器文件,该文件存在可以结束备库的恢复,即升级备库为一个独立的主库
recovery_min_apply_delay (integer):这个参数允许将恢复延迟一段固定的时间,如果没有指定单位则以毫秒为单位。
如果recovery.conf中同时指定了recoveryTargetXid、recoveryTargetName、recoveryTargetTime时,PostgreSQL会按照RECOVERY_TARGET_XID> RECOVERY_TARGET_NAME > RECOVERY_TARGET_TIME的优先级来获取最终的目标恢复位点。

如果在recovery.conf指定recovery_targetTimeLine为latest,则可以基于当前TimeLineID为起点寻找最新时间线:

寻找当前TimeLineID的时间线历史文件“XXX.history”,如果存在则继续寻找,否则错误退出
TimeLineID是线性增长的,将当前TimeLineID自增1寻找是否存在时间线历史文件,直到不存在对应的时间线历史文件为止,即可找到最新的时间线

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL 10 中,`recovery.conf` 文件用于指定恢复期间的配置选项,如下所示: 1. `standby_mode`:指定是否将服务器配置为从服务器。如果设置为 `on`,则服务器将被配置为从服务器。如果设置为 `off`,则服务器将被配置为主服务器。 ``` standby_mode = on ``` 2. `primary_conninfo`:指定要连接到的主服务器的连接信息,如主机名、端口、用户名和密码等。 ``` primary_conninfo = 'host=primary_server port=5432 user=replication password=replicationpass sslmode=require' ``` 3. `restore_command`:指定用于将 WAL(Write-Ahead Log)日志应用到从服务器上的恢复命令。通常,此命令将从备份文件中还原缺失的数据。 ``` restore_command = 'cp /mnt/server/archivedir/%f %p' ``` 4. `recovery_target_timeline`:指定从服务器要恢复到的时间线。默认情况下,此选项设置为 `latest`,表示从服务器将恢复到最新时间线。 ``` recovery_target_timeline = 'latest' ``` 5. `recovery_target_time`:指定从服务器要恢复到的时间点。如果未指定此选项,则从服务器将恢复到最新时间点。 ``` recovery_target_time = '2021-06-01 10:00:00' ``` 6. `recovery_target_xid`:指定从服务器要恢复到的事务 ID。如果未指定此选项,则从服务器将恢复到最新的事务 ID。 ``` recovery_target_xid = '123456' ``` 7. `recovery_target_lsn`:指定从服务器要恢复到的 LSN(Log Sequence Number)。如果未指定此选项,则从服务器将恢复到最新的 LSN。 ``` recovery_target_lsn = '16/AB012345' ``` 8. `recovery_min_apply_delay`:指定从服务器要延迟应用 WAL 日志的时间。单位为秒。 ``` recovery_min_apply_delay = 60 ``` 以上是 PostgreSQL 10 中 `recovery.conf` 文件的一些常见配置选项。这些选项可以根据具体的需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值