PostgreSQL recovery.conf恢复配置

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 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 会被替换为包含最后一个可用重启点的文件的名称

  1. 恢复目标设置

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将在到达恢复目标后停止服务器。

  1. 备用服务器设置

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 记录。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
11月前
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
|
11月前
|
关系型数据库 MySQL Nacos
nacos数据库使用PostgreSQL及集群配置
从Nacos2.2版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。
|
20天前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
2月前
|
安全 关系型数据库 Linux
|
3月前
|
缓存 关系型数据库 数据库
postgresql.conf配置详解
postgresql.conf配置详解
|
11月前
|
安全 关系型数据库 Go
远程连接PostgreSQL:配置指南与安全建议
远程连接PostgreSQL:配置指南与安全建议
579 0
|
4月前
|
关系型数据库 网络安全 数据安全/隐私保护
你会开启Postgresql 的SSL单向认证 配置?
你会开启Postgresql 的SSL单向认证 配置?
111 0
你会开启Postgresql 的SSL单向认证 配置?
|
4月前
|
关系型数据库 Linux 数据安全/隐私保护
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
66 0
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
|
4月前
|
监控 关系型数据库 Java
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
241 0
|
9月前
|
关系型数据库 数据库 PostgreSQL
flink postgresql cdc实时同步(含pg安装配置等)
flink postgresql cdc实时同步(含pg安装配置等)
346 0