pg_standby用于支持创建一个“温备”数据库服务器。它被设计为一个可以随时投入生产的程序,以及一个可定制的模板供你进行特定的修改。
pg_standby被设计成一个等待着的restore_command
,它被用来把一次标准的归档恢复变成一次温备操作。还需要一些其他的配置,所有这些配置都在主服务器手册中有相应的描述(见第 26.2 节)。
要配置一台后备服务器去使用pg_standby,可以把下面的内容放在postgresql.conf
配置文件中:
restore_command = "pg_standby archiveDir
%f %p %r"
其中archiveDir
是 WAL 段文件应该被存储的目录。
如果指定了restartwalfile
(通常用%r
宏指定),那么所有在逻辑上位于这个文件之前的 WAL 文件都将被从archivelocation
中移除。这使需要被保留的文件数最小化,与此同时能够保持崩溃重启的能力。如果archivelocation
对于这个特定后备服务器是一个瞬态区域,使用这个参数是合适的,但当
archivelocation
是一个长期 WAL 归档区域时则不是合适的。
pg_standby假定archivelocation
是一个拥有服务器的用户可读的目录。如果指定了restartwalfile
(或者-k
),archivelocation
目录必须也是可写的。
当主服务器失效时,有两种方式转移到一个“温备”数据库服务器:
在智能失效备援中,服务器在应用归档中可用的所有 WAL 文件之后被提升。即便后备服务器落后于主服务器,这也会导致零数据丢失,但是如果有很多未应用的 WAL,在后备服务器准备好之前就需要比较长的时间。要触发一次智能失效备援,创建一个包含单词smart
的触发文件,或者只创建一个空文件。
在快速失效备援中,服务器被立即提升。归档中任何还未被应用的 WAL 文件将被忽略,并且这些文件中的所有事务都会丢失。要触发一次快速失效备援,创建一个触发文件并且把单词fast
写在其中。pg_standby也能被配置为在一段定义好的区间内没有新 WAL 文件出现时自动执行一次快速失效备援。
目录J.1. DocBookJ.2. 工具集J.2.1. 在 Fedora、RHEL 和衍生品上安装J.2.2. 在 FreeBSD 上安装J.2.3. Debian 包J.2.4. macOSJ.2....
MySQL Date 函数定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法DATEDIFF(date1,date2) date1 和 date2 参数是合法的...
在本章中,我们将学习如何在WordPress中查看插件。 它可以帮助您启用和禁用WordPress插件。 这将为现有网站添加独特的功能。 插...
按照go 命令行工具的要求将Revel和Revel应用程序安装到 GOPATH。 (参考 “GOPATH 环境变量”go 命令 文档)项目结构示例gocodeGOP...
Build and Run为了使用Revel,必须构建Revel命令行工具:$ go get github.com/revel/revel/revel现在运行它:$ bin/revel~~ revel!...