pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
standby_mode (boolean) #指定是否将 PostgreSQL 服务器作为备库启动。如果此参数为 on,服务器到达已归档 WAL 的末尾时不会停止恢复,而会继续尝试使用 restore_command 获取新的 WAL 段,和/或按照 primary_conninfo 设置连接主库,以继续恢复。
primary_conninfo (string) #指定备库连接主库所用的连接字符串,格式见 第 32.1.1 节。如果某个选项未在字符串中指定,就会检查相应的环境变量(参见 第 32.14 节)。如果环境变量也未设置,则使用默认值。
连接字符串应指定主库的主机名(或地址);如果端口号与备库的默认端口不同,也应指定端口号。还应指定一个用户名,对应主库上具有适当权限的角色(参见 第 26.2.5.1 节)。如果主库要求密码认证,还需要提供密码。密码可以放在 primary_conninfo 字符串中,也可以放在备库上单独的 ~/.pgpass 文件中(使用 replication 作为数据库名)。不要在 primary_conninfo 字符串中指定数据库名。
如果 standby_mode 为 off,此设置不起作用。
primary_slot_name (string) #可选地指定一个已存在的复制槽,在通过流复制连接主库时使用,以控制上游节点的资源移除(参见 第 26.2.6 节)。如果未设置 primary_conninfo,此设置不起作用。
trigger_file (string) #指定一个触发文件,其出现会使备库结束恢复。即使未设置此值,也仍可以使用 pg_ctl promote 提升备库。如果 standby_mode 为 off,此设置不起作用。
recovery_min_apply_delay (integer) #默认情况下,备库会尽快恢复来自主库的 WAL 记录。保留一份延迟的数据副本可能很有用,因为它提供了纠正数据丢失错误的机会。此参数允许将恢复延迟一段固定时间;如果没有指定单位,则以毫秒计。例如,将此参数设置为 5min 时,只有当备库系统时间比主库报告的提交时间至少晚五分钟,备库才会重放各事务的提交。
服务器之间的复制延迟可能超过此参数的值,这种情况下不会增加延迟。注意,延迟根据主库写入的 WAL 时间戳与备库当前时间之差计算。网络延迟或级联复制配置导致的传输延迟,可能显著缩短实际等待时间。如果主库和备库的系统时钟不同步,恢复时可能比预期更早应用记录;但这通常不是主要问题,因为此参数的实用取值远大于服务器间常见的时间偏差。
延迟仅发生在事务提交的 WAL 记录上。其他记录会尽快重放;这不会造成问题,因为 MVCC 可见性规则确保在对应提交记录被应用之前,它们的效果不会可见。
恢复中的数据库达到一致状态后开始延迟,直到备库被提升或触发。此后,备库会结束恢复,不再等待。
此参数旨在用于流复制部署;不过,只要指定了此参数,它就会在所有情况下生效。使用此功能也会延迟 hot_standby_feedback,可能导致主库膨胀;同时使用两者时应谨慎。
当 synchronous_commit 设置为 remote_apply 时,同步复制会受到此设置影响;每个 COMMIT 都必须等待提交被应用。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。