PostgreSQL recovery.conf恢复配置
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恢复配置的更多相关文章
- postgresql recovery.conf改变需要重启吗
之前在研究pgpoll时,发现trigger_file参数指定的文件存在后,会自动将standby节点提升为可写节点.不需要手动执行pg_ctl promote,但是这个时间一般有延迟,因为进程会定期 ...
- postgresql recovery.conf文件内容说明
在配置PG主备流复制.HA时,需要用到recovery.conf文件,这里根据自己的了解做个记录: standby_mode = 'on' #说明自己是备库 primary_conninfo = 'u ...
- PostgreSQL 备份和恢复
备份和恢复有三种不同的基本方法来备份PostgreSQL数据SQL转储文件系统级备份File system level backup连续归档 1. SQL转储 pg_dump dbname > ...
- recovery.conf文件详解
在恢复过程中,用户可以通过使用recovery.conf文件来指定恢复的各个参数,如下: 归档恢复设置 restore_command:用于获取一个已归档段的XLOG日志文件的命令 archive_c ...
- centos下postgresql的安装与配置[转]
本文摘自:http://blog.chinaunix.net/uid-24846094-id-78490.html 一.安装(以root身份进行) 1.检出最新的postgresql的yum配置从ht ...
- FATAL: using recovery command file "recovery.conf" is not supported
PostgreSQL12 附录 E. 版本说明 将recovery.conf设置移动到postgresql.conf中. (Masao Fujii, Simon Riggs, Abhijit Meno ...
- PHP7中php.ini、php-fpm和www.conf的配置
引自:https://typecodes.com/web/php7configure.html 1 配置php.ini php.ini是php运行核心配置文件: ######避免PHP信息暴露在htt ...
- 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 ...
- Php和httpd.conf的配置
http://www.cnblogs.com/homezzm/archive/2012/08/01/2618062.html http://book.51cto.com/art/201309/4096 ...
随机推荐
- 时间插件之My97DatePickerBeta
My97DatePickerBeta使用很简单 1.在jsp页面中 引入JS 下载地址:链接: https://pan.baidu.com/s/1bp5uzuv 密码: ya9a <script ...
- yum 源配置
在 /etc/yum.repos.d 下建立一个 .repo 文件 vim yum.repo [cd] name=cd baseurl=file:///run/media/root/RHEL-7.0 ...
- nohup后台运行jar与关闭
nohup 用途:LINUX命令用法,不挂断地运行命令. 语法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关 ...
- org.apache.flume.ChannelException: Take list for MemoryTransaction, capacity 100 full, consider committing more frequently, increasing capacity, or increasing thread count
flume在抽取MySQL数据到kafka时报错,如下 [SinkRunner-PollingRunner-DefaultSinkProcessor] ERROR org.apache.flume.s ...
- eclipse添加删除插件-eclipse marketplace
源文地址:http://jingyan.baidu.com/article/cdddd41c5c883353cb00e19e.html 在有些版本的eclips上并没有eclipse marketpl ...
- 如何在java中导入jar包
通常在lib文件夹中存放从外部引入的jar包 所以在项目上右击,new 一个folder,命名为lib 然后把JAR文件复制进去. 然后再在项目上右击,build Path ——configure b ...
- C#二进制与字符串互转换,十六进制转换为字符串、float、int
/// <summary> /// 将 字符串 转成 二进制 “10011100000000011100011111111101” /// </summary> /// ...
- Eureka、Ribbon、Feign常见问题及解决
1.Eureka常见问 1.1.Eureka Enviroment 的配置 eureka.enviroment=product 参考 https://github.com/Netflix/eureka ...
- 机器学习(八)—GBDT 与 XGBOOST
RF.GBDT和XGBoost都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性. 根据个体学习器的生成方式,目前 ...
- Github-jcjohnson/torch-rnn代码详解
Github-jcjohnson/torch-rnn代码详解 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2016-3- ...