备服务器
hot_standby
参数说明: 设置是否允许备机在恢复过程中连接和查询。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
须知:
- 如果此参数设置为on,wal_level必须设置为hot_standby,否则将导致数据库无法启动。
- 在双机环境中,因为会对双机其他一些功能产生影响,hot_standby参数不能设置成off。
- 如果hot_standby参数曾经被关闭,且wal_level参数曾被设置低于hot_standby等级,那么,再次打开hot_standby参数之前,为了确保主备环境下备机上待回放的日志都可以支持备机查询功能,需要进行如下操作:
- 将主、备的wal_level参数调整到hot_standby等级或以上,并重启实例生效。
- 在主机上执行checkpoint操作,并通过查询pg_stat_get_wal_senders()系统函数,确认各个备机的receiver_replay_location追上主机当前的sender_flush_location,保证wal_level的调整同步到备机并生效,且备机不需要再回放之前低等级的日志。
- 将主、备的hot_standby参数打开(设为on),并重启实例生效。
取值范围: 布尔型
- on表示允许备机在恢复过程中连接和查询。
- off表示不允许备机在恢复过程中连接和查询。
默认值: on
max_standby_archive_delay
参数说明: 当开启双机热备模式时,如果备机正处理归档WAL日志数据,这时进行查询就会产生冲突,此参数就是设置备机取消查询之前所等待的时间。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
须知: -1表示允许备机一直等待冲突的查询完成。
取值范围: 整型,范围:-1~INT_MAX,单位为毫秒。
默认值: 3s(即3000ms)
max_standby_streaming_delay
参数说明: 当开启双机热备模式时,如果备机正通过流复制接收WAL日志数据,这时进行查询就会产生冲突,这个参数就是设置备机取消查询之前所等待的时间。当参数值较大,或业务压力大时,概率出现等待事务回放落盘的报错。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
须知: -1表示允许备机一直等待冲突的查询完成。
取值范围: 整型(毫秒),范围:-1~INT_MAX
默认值: 3s(即3000ms)
wal_receiver_status_interval
参数说明: 设置WAL日志接收进程的状态通知给主机的最大时间间隔。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型,0 ~ INT_MAX ,单位为毫秒。
默认值: 5s**(即**5000ms)
须知: 当该参数设置为0时,表示关闭备机向主机反馈日志接收位置等信息,可能会导致主机事务提交阻塞、switchover操作失败等异常现象。正常业务场景,不建议将该参数设置为0。
hot_standby_feedback
参数说明: 设置是否允许将备机上执行查询的结果反馈给主机,这可以避免查询冲突。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 布尔型
- on表示允许将备机上执行查询的最小事务号反馈给主机。
- off表示不允许将备机上执行查询的最小事务号反馈给主机。
默认值: off
须知: 当该参数为on时,主机的旧版本数据的清理会受限于备机正在读的事务,即主机只允许清理小于备机反馈回来的事务所作的更改。 所以,若该参数开启时,会影响主机的性能。
wal_receiver_timeout
参数说明: 设置从主机接收数据的最大等待时间。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型, 0 ~ INT_MAX,单位为毫秒。
默认值: 6s(即6000ms)
wal_receiver_connect_timeout
参数说明: 设置连接主机的最大等待超时时间。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型, 0 ~ INT_MAX / 1000,单位为秒。
默认值: 2s
wal_receiver_connect_retries
参数说明: 设置连接主机的最大尝试次数。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型, 1~ INT_MAX。
默认值: 1
wal_receiver_buffer_size
参数说明: 备机与从备接收Xlog存放到内存缓冲区的大小,目前默认不支持主备从部署模式。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型,4096~1047552,单位为kB。
默认值: 64MB(即65536kB)
primary_slotname
参数说明: 设置备机对应主机的slot name,用于主备校验,与wal日志删除机制。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围: 字符型
默认值: 空字符串
max_logical_replication_workers
参数说明: 订阅端apply worker线程的最大数量。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型,0~262143
默认值: 4
max_sync_workers_per_subscription
参数说明:订阅端每个订阅的tablesync worker线程的最大数量。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,0~262143
默认值:2
subscription_conflict_resolution
参数说明:控制订阅端遇到主键或唯一键重复冲突时的处理方式。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
须知:
- 如果设置为apply_remote,当同步过来的新元组存在多行因为不同索引发生冲突时,尝试应用该元组时仍会报错。
取值范围:枚举类型
- error 表示冲突时直接报错。
- apply_remote 表示冲突时应用发布端版本。
- keep_local 表示冲突时保留本地版本。
默认值:error
exrto_standby_read_opt
参数说明:支持极致RTO备机读优化,默认开启。主机和备机间不同步该参数。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型。
- on表示开启优化。
- off表示关闭优化。
默认值:on