PostgreSQL recovery.conf恢复配置

这一章描述recovery.conf 文件中可用的设置。它们只应用于恢复期。对于你希望执行的任意后续恢复, 它们必须被重置。一旦恢复已经开始,它们就不能被更改。
recovery.conf中的设置以name = ’value’的形式指定。 每一行指定一个参数。井号(#)表示行的剩余部分是一段注释。 要在一个参数值中嵌入一个单引号,将其双写(”)。
在安装的share/目录中提供了一个例子文件, share/recovery.conf.sample。
1. 归档恢复设置
restore_command (string)用于获取 WAL 文件系列的一个已归档段的本地 shell 命令。
这个参数是归档恢复所必需的,但是对于流复制是可选的。
在该字符串中的任何 %f会被替换为从归档中检索的文件的名字,并且任何%p 会被在服务器上的复制目标路径名替换(该路径名是相对于当前工
作目录的, 即集簇的数据目录)。任何%r会被包含上一个可用重启点的文件的名字所替换。
很重要的一点是,该命令只有在成功时才返回一个零退出状态。 该命令将会被询问归档中不存在的文件名, 当这样被询问时它必须返回非零。例子:
restore_command = ’cp /mnt/server/archivedir/%f "%p"’
restore_command = ’copy "C:\\server\\archivedir\\%f" "%p"’ # Windows
archive_cleanup_command (string)
archive_cleanup_command的目的是为清理后备服务器不再需要的旧的已归档 WAL 文件提供一种机制。任何%r会被替换为包含最后一个可用重启点的文件的名称。
archive_cleanup_command = ’pg_archivecleanup /mnt/server/archivedir %r’
但是注意,如果多个后备服务器正在从同一个归档目录中恢复, 你将需要保证只有当任意服务器都不再需要 WAL 文件时才会删除它们。
recovery_end_command (string)的目的是为复制或恢复之后的清除提供一种机制。
与archive_cleanup_command中相似,任何%r 会被替换为包含最后一个可用重启点的文件的名称
2. 恢复目标设置
recovery_target = ’immediate’指定恢复应该在达到一个一致状态后尽快结束,即尽早结束。 在从一个在线备份中恢复时,这意味着备份结束的那个点。
recovery_target_name (string)指定恢复将继续进行的已命名的恢复点 (pg_create_restore_point()创建)。
recovery_target_time (timestamp)这个参数指定恢复将继续执行的时间戳。精确的停止点也受到recovery_target_inclusive的影响。
recovery_target_xid (string)指定恢复将继续执行的事务ID。
recovery_target_inclusive (boolean)指定我们是否在指定的恢复目标之后停止(true), 或者在恢复目标之前停止(false)。
recovery_target_timeline (string)指定恢复到一个特定的时间线中。默认值是沿着基础备份建立时的当前时间线恢复。
将这个参数设置为latest会恢复到该归档中能找到的最新的时间线, 这在一个后备服务器中有用。
recovery_target_action (enum) (boolean)指定当到达恢复目标时服务器应该采取什么动作。默认值是pause, 这意味着将暂停恢复。
promote意味着将结束恢复进程并且服务器开始接受连接。 shutdown将在到达恢复目标后停止服务器。
3. 备用服务器设置
standby_mode (boolean)指定是否将PostgreSQL服务器作为一个后备服务器启动。
如果这个参数为on,当到达已归档 WAL 末尾时该服务器将不会停止恢复, 但是将通过使用restore_command获得
新的 WAL 段以及/或者通过使用 primary_conninfo设置连接到主服务器来尝试继续恢复
primary_conninfo (string)指定后备服务器用来连接主服务器的连接字符串。
如果standby_mode为off,这个设置没有效果。
primary_slot_name (string)可选的指定在通过流复制连接到主服务器时要使用的现有复制槽, 以控制上游节点上的
资源删除。 如果没有设置primary_conninfo,则这个设置无效。
trigger_file (string)指定一个触发器文件,该文件的存在会结束后备机中的恢复。即使没有设置这个值, 你
也能够使用pg_ctl promote来提升后备机。 如果standby_mode为off,则这个设置没有效果。
recovery_min_apply_delay (integer)默认情况下,后备服务器会尽快恢复来自于主服务器的 WAL 记录。

PostgreSQL recovery.conf恢复配置的更多相关文章

  1. postgresql recovery.conf改变需要重启吗

    之前在研究pgpoll时,发现trigger_file参数指定的文件存在后,会自动将standby节点提升为可写节点.不需要手动执行pg_ctl promote,但是这个时间一般有延迟,因为进程会定期 ...

  2. postgresql recovery.conf文件内容说明

    在配置PG主备流复制.HA时,需要用到recovery.conf文件,这里根据自己的了解做个记录: standby_mode = 'on' #说明自己是备库 primary_conninfo = 'u ...

  3. PostgreSQL 备份和恢复

    备份和恢复有三种不同的基本方法来备份PostgreSQL数据SQL转储文件系统级备份File system level backup连续归档 1. SQL转储 pg_dump dbname > ...

  4. recovery.conf文件详解

    在恢复过程中,用户可以通过使用recovery.conf文件来指定恢复的各个参数,如下: 归档恢复设置 restore_command:用于获取一个已归档段的XLOG日志文件的命令 archive_c ...

  5. centos下postgresql的安装与配置[转]

    本文摘自:http://blog.chinaunix.net/uid-24846094-id-78490.html 一.安装(以root身份进行) 1.检出最新的postgresql的yum配置从ht ...

  6. FATAL: using recovery command file "recovery.conf" is not supported

    PostgreSQL12 附录 E. 版本说明 将recovery.conf设置移动到postgresql.conf中. (Masao Fujii, Simon Riggs, Abhijit Meno ...

  7. PHP7中php.ini、php-fpm和www.conf的配置

    引自:https://typecodes.com/web/php7configure.html 1 配置php.ini php.ini是php运行核心配置文件: ######避免PHP信息暴露在htt ...

  8. WampServer 在 httpd.conf 中配置多站点 (IP 配置法:不用每次修改 hosts 文件 + 域名配置法 )

    因为要用 ThinkPHP 的当前最新版本 3.2.2,对应要求 PHP 的版本要高于 5.3.0,所以安装了 WampServer 2.2 ( Apache 2.2.21,PHP 5.3.10,My ...

  9. Php和httpd.conf的配置

    http://www.cnblogs.com/homezzm/archive/2012/08/01/2618062.html http://book.51cto.com/art/201309/4096 ...

随机推荐

  1. 爬虫之MongoDB

    一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 1.易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库. 不采用关系型主要是为了 ...

  2. 一个最简单的JMeter测试流程

    环境:     JMeter   3.3 JDK 1.8 首先下载JMeter安装包  可以去官网下载. http://jmeter.apache.org/ 然后选择Download Windows系 ...

  3. Memcache简介 & 内存分配机制

            关于这个东西里面到底应该存放数据网上一直有很多种说法,有的说sql进行md5之后作为键值,结果作为内容存放,也有人说按照业务逻辑错放,反正是炒的不亦乐乎.        本人经过将近2 ...

  4. WPF利用通过父控件属性来获得绑定数据源RelativeSource

    WPF利用通过父控件属性来获得绑定数据源RelativeSource   有时候我们不确定作为数据源的对象叫什么名字,但知道作为绑定源与UI布局有相对的关系,如下是一段XAML代码,说明多层布局控件中 ...

  5. ES6-let命令

    let命令 用于声明变量,但是声明的变量只能在let命令所在的代码块内有效, { let a = 10; var b = 1; } 其中,a在代码块的外部是调用不到的.对于for循环的计数器里面,就很 ...

  6. hzau 1200 Choosy in Food

    1200: Choosy in Food Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 32  Solved: 5[Submit][Status][W ...

  7. MySQL 分区知识点(三)

    前言: MySQL 分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表, 从 information_schema.INNODB_SYS_TABLES 系统表可以看到每个分 ...

  8. eclipse 创建 maven web工程

    填写完点finish,创建成功 接着找到工作空间创建的这个项目,.settings文件夹下修改两个文件 改为自己的java版本,我的是1.8 将项目改为动态3.0 此时项目还没有web.xml,接下来 ...

  9. Flask download file vs django download file

    Only difference is make_response and httpresponse. FLASK VERSION: from flask import make_response @a ...

  10. 练习json读取中文

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...