发送端服务器
max_wal_senders
参数说明:指定事务日志发送线程的并发连接最大数量,必须小于max_connections。
wal_level必须设置为archive、hot_standby或者logical以允许备机的连接。
参数类型:整型
取值范围:0 ~ 1024(建议取值范围:8 ~ 100)
默认值:
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:1、只有当使用单DN实例无主备场景下才可以设置0;2、当使用双机复制、备份恢复、逻辑解码时,该参数值建议设为:当前备机个数+备份连接数+所需的逻辑复制连接数。如果实际设置值小于建议取值范围,可能造成这些功能不可用或异常。
wal_keep_segments
参数说明:Xlog日志文件段数量。设置“pg_xlog”目录下保留事务日志文件的最小数目。备机通过获取主机此处的日志进行流复制。
参数类型:整型
取值范围:2 ~ INT_MAX
默认值:128
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:
- 当服务器开启日志归档或者从检查点恢复时,保留的日志文件数量可能大于wal_keep_segments设定的值。
- 如果此参数设置过小,则在备机请求事务日志时,此事务日志可能已经被产生的新事务日志覆盖,导致请求失败,主备关系断开。
- 当双机为异步传输时,以COPY方式连续导入4G以上数据需要增大wal_keep_segments配置。以T6000单板为例,如果导入数据量为50G,建议调整参数为1000。可以在导入完成并且日志同步正常后,动态恢复此参数设置。
- 若synchronous_commit级别小于LOCAL_FLUSH,重建备机时,建议调大该参数为1000,避免重建过程中,主机日志回收导致重建失败。
wal_sender_timeout
参数说明:设置本端等待事务日志接收端接收日志的最大等待时间。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
- 如果主机数据较大,重建操作需要增大此参数的值,主机数据在500GB时,此参数的参考值为600s。
- 此值不能大于wal_receiver_timeout或数据库重建时的超时参数。
取值范围:整型,0 ~ 2147483647,单位为毫秒(ms)。
默认值:6s
max_replication_slots
参数说明:设置主机端的日志复制slot个数。
参数类型:整型
取值范围:0 ~ 1024(建议取值范围:8 ~ 100)。
默认值:20
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:
当使用双机复制、备份恢复、逻辑解码时,该参数值建议设为:当前物理流复制槽数+备份槽数+所需的逻辑复制槽数。如果实际设置值比上述建议值小,可能造成这些功能不可用或异常。
物理流复制槽提供了一种自动化的方法来确保主DN在所有备DN收到xlog之前,xlog不会被移除。也就是说物理流复制槽用于支撑集群HA。集群所需要的物理流复制槽数为:一组DN中,备与主DN之间的比例。例如,假设集群的DN高可用方案为1主3备,则所需物理流复制槽数为3。
备份槽:记录备份执行过程中的一些复制信息,全量备份和增量备份各自对应单独的备份槽,共2个。
- 一个逻辑复制槽只能解码一个Database的修改,如果需要解码多个Database,则需要创建多个逻辑复制槽。
- 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。
- 同一实例上,最多支持同时开启20个逻辑复制槽进行解码。
max_keep_log_seg
参数说明:流控参数,逻辑复制在DN本地会解析物理日志转换成逻辑日志,当未被解析的物理日志文件数量大于该参数时会触发限流。此参数为0表示关闭限流功能。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,0 ~ 2147483647。
默认值:0
enable_logicalrepl_xlog_prune
参数说明:设置是否开启逻辑复制槽强制失效功能。在设置当前GUC参数enable_logicalrepl_xlog_prune=on、enable_xlog_prune=on、max_size_for_xlog_retention为非零值,且备份槽或逻辑复制槽导致保留日志段数已超过GUC参数wal_keep_segments同时其他复制槽并未导致更多的保留日志段数时,如果max_size_for_xlog_retention大于0且当前逻辑复制槽导致保留日志的段数(每段日志大小为16MB)超过max_size_for_xlog_retention,或者max_size_for_xlog_retention小于0且磁盘使用率达到(-max_size_for_xlog_retention)/100,则该逻辑复制槽会强制失效,restart_lsn被置为7FFFFFFF/FFFFFFFF。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- true表示开启逻辑复制槽强制失效功能。
- false表示关闭逻辑复制槽强制失效功能。
默认值:false
enable_logical_replication_ddl
参数说明:设置逻辑解码是否支持DDL,是否反解析,是否生成日志。分布式不支持DDL反解析,此参数无实际作用。
参数类型:布尔型。
取值范围:
- on:逻辑复制可支持DDL,对DDL执行结果进行反解析,并生成DDL的WAL日志。
- off:不支持DDL,不反解析也不生成WAL日志。
默认值:on
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
enable_wal_shipping_compression
参数说明:在流式容灾模式下设置启动跨集群日志压缩功能。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
- 该参数仅作用于流式容灾中跨集群传输的一对walsender与walreceiver中,在主集群上配置。
取值范围:布尔型
- true 表示打开流式容灾跨集群日志压缩
- false 表示关闭流式容灾跨集群日志压缩
默认值:false
repl_auth_mode
参数说明:设置主备复制和备机重建的验证模式。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
- 如果主机上开启了UUID验证功能、且配置了非空字符串的repl_uuid验证码,那么备机也需要开启UUID验证功能、且配置相同的repl_uuid验证码,否则主备日志复制和备机重建请求将被主机拒绝。
- 该参数支持SIGHUP动态加载新值。修改之后不影响已建连的主备连接,对后续主备复制请求和主备重建请求生效。
- 支持Quorum、DCF协议下的备机重建验证;支持Quorum协议下的主备复制验证;不支持DCF协议下的主备复制验证。
- 不支持跨集群主、备之间的认证,包括Dorado主备集群和容灾主备集群。
- UUID验证功能主要为了防止主、备误连导致的数据串扰和污染,不是用于安全目的。
- 该参数不支持主、备间自动同步。
取值范围:枚举类型
- off:表示关闭UUID验证功能。
- default:表示关闭UUID验证功能。
- uuid:表示开启UUID验证功能。
默认值:default
repl_uuid
参数说明:设置用于主备UUID验证的UUID码。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
- 如果主机上开启了UUID验证功能、且配置了非空字符串的repl_uuid验证码,那么备机也需要开启UUID验证功能、且配置相同的repl_uuid验证码,否则主备日志复制和备机重建请求将被主机拒绝。
- 该参数支持SIGHUP动态加载新值。修改之后,不影响已建连的主备连接,对后续主备复制请求和主备重建请求生效。
- 支持Quorum、DCF协议下的备机重建验证;支持Quorum协议下的主备复制验证;不支持DCF协议下的主备复制验证。
- 不支持跨集群主、备之间的认证,包括Dorado主备集群和容灾主备集群。
- UUID验证功能主要为了防止主、备误连导致的数据串扰和污染,不是用于安全目的。
- 该参数不支持主、备间自动同步。
取值范围:字符串类型。长度0~63个字符,字母和数字的组合,大小写不敏感,内部统一转换为小写存储。空字符串表示不启用UUID验证功能。
默认值:空字符串
replconninfo1
参数说明:设置本端侦听和鉴权的第一个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第一个节点信息。
默认值:DN侦听的第一个连接信息。
示例:
replconninfo1 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo2
参数说明:设置本端侦听和鉴权的第二个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第二个节点信息。
默认值:DN侦听的第二个连接信息。
示例:
replconninfo2 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo3
参数说明:设置本端侦听和鉴权的第三个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第三个节点信息。
默认值:DN侦听的第三个连接信息。
示例:
replconninfo3 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo4
参数说明:设置本端侦听和鉴权的第四个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第四个节点信息。
默认值:DN侦听的第四个连接信息。
示例:
replconninfo4 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo5
参数说明:设置本端侦听和鉴权的第五个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第五个节点信息。
默认值:DN侦听的第五个连接信息。
示例:
replconninfo5 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo6
参数说明:设置本端侦听和鉴权的第六个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第六个节点信息。
默认值:DN侦听的第六个连接信息。
示例:
replconninfo6 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
replconninfo7
参数说明:设置本端侦听和鉴权的第七个节点信息。集群安装成功后自动配置无需手动修改。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第七个节点信息。
默认值:DN侦听的第七个连接信息。
示例:
replconninfo7 = 'localhost=127.0.0.1 localport=XXXX localheartbeatport=XXXX localservice=XXXX remotehost=127.0.0.1 remoteport=XXXX remoteheartbeatport=XXXX remoteservice=XXXX'
cross_cluster_replconninfo1
参数说明:设置跨集群的本端侦听和鉴权的第一个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第一个节点信息。
默认值:空字符串
cross_cluster_replconninfo2
参数说明:设置跨集群的本端侦听和鉴权的第二个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第二个节点信息。
默认值:空字符串
cross_cluster_replconninfo3
参数说明:设置跨集群的本端侦听和鉴权的第三个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第三个节点信息。
默认值:空字符串
cross_cluster_replconninfo4
参数说明:设置跨集群的本端侦听和鉴权的第四个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第四个节点信息。
默认值:空字符串
cross_cluster_replconninfo5
参数说明:设置跨集群的本端侦听和鉴权的第五个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第五个节点信息。
默认值:空字符串
cross_cluster_replconninfo6
参数说明:设置跨集群的本端侦听和鉴权的第六个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第六个节点信息。
默认值:空字符串
cross_cluster_replconninfo7
参数说明:设置跨集群的本端侦听和鉴权的第七个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第七个节点信息。
默认值:空字符串
cross_cluster_replconninfo8
参数说明:设置跨集群的本端侦听和鉴权的第八个节点信息。
该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
取值范围:字符串。其中空字符串表示没有配置第八个节点信息。
默认值:空字符串
enable_time_report
参数说明:设定是否记录每条redo时间开销。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
- on表示记录redo 记录生成时的时间。
- off表示不记录。
默认值:off
thread_top_level
参数说明:提高 WALWRITERAUXILIARY || WALWRITER || STARTUP ||WALRECEIVER || WAL_NORMAL_SENDER || PGSTAT线程的优先级到最高。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
- on表示上述线程优先级提高到最高。
- off表示不提高上述线程优先级。
默认值:off
page_work_queue_size
参数说明:每一个redo worker的阻塞队列长度。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:最大值100000 ,最小值1。
默认值:4096