选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.5 已于 2021 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

26.3. 备库设置 #

standby_mode (boolean) #

指定是否将 PostgreSQL 服务器作为备库启动。如果此参数为 on,服务器到达已归档 WAL 的末尾时不会停止恢复,而会继续尝试使用 restore_command 获取新的 WAL 段,和/或按照 primary_conninfo 设置连接主库,以继续恢复。

primary_conninfo (string) #

指定备库连接主库所用的连接字符串,格式见 第 31.1.1 节。如果某个选项未在字符串中指定,就会检查相应的环境变量(参见 第 31.14 节)。如果环境变量也未设置,则使用默认值。

连接字符串应指定主库的主机名(或地址);如果端口号与备库的默认端口不同,也应指定端口号。还应指定一个用户名,对应主库上具有适当权限的角色(参见 第 25.2.5.1 节)。如果主库要求密码认证,还需要提供密码。密码可以放在 primary_conninfo 字符串中,也可以放在备库上单独的 ~/.pgpass 文件中(使用 replication 作为数据库名)。不要在 primary_conninfo 字符串中指定数据库名。

如果 standby_modeoff,此设置不起作用。

primary_slot_name (string) #

可选地指定一个已存在的复制槽,在通过流复制连接主库时使用,以控制上游节点的资源移除(参见 第 25.2.6 节)。如果未设置 primary_conninfo,此设置不起作用。

trigger_file (string) #

指定一个触发文件,其出现会使备库结束恢复。即使未设置此值,也仍可以使用 pg_ctl promote 提升备库。如果 standby_modeoff,此设置不起作用。

recovery_min_apply_delay (integer) #

默认情况下,备库会尽快恢复来自主库的 WAL 记录。保留一份延迟的数据副本可能很有用,因为它提供了纠正数据丢失错误的机会。此参数允许将恢复延迟一段固定时间;如果没有指定单位,则以毫秒计。例如,将此参数设置为 5min 时,只有当备库系统时间比主库报告的提交时间至少晚五分钟,备库才会重放各事务的提交。

服务器之间的复制延迟可能超过此参数的值,这种情况下不会增加延迟。注意,延迟根据主库写入的 WAL 时间戳与备库当前时间之差计算。网络延迟或级联复制配置导致的传输延迟,可能显著缩短实际等待时间。如果主库和备库的系统时钟不同步,恢复时可能比预期更早应用记录;但这通常不是主要问题,因为此参数的实用取值远大于服务器间常见的时间偏差。

延迟仅发生在事务提交的 WAL 记录上。其他记录会尽快重放;这不会造成问题,因为 MVCC 可见性规则确保在对应提交记录被应用之前,它们的效果不会可见。

恢复中的数据库达到一致状态后开始延迟,直到备库被提升或触发。此后,备库会结束恢复,不再等待。

此参数旨在用于流复制部署;不过,只要指定了此参数,它就会在所有情况下生效。使用此功能也会延迟 hot_standby_feedback,可能导致主库膨胀;同时使用两者时应谨慎。 同步复制不受此设置影响,因为目前还没有用于请求同步应用事务提交的设置。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。