更新时间:2024-05-07 GMT+08:00

发送端服务器

max_wal_senders

参数说明:指定事务日志发送进程的并发连接最大数量。不可大于等于max_connections

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

wal_level必须设置为archive、hot_standby或者logical以允许备机的连接。

取值范围:整型,0 ~ 1024(建议取值范围:8 ~ 100)

只有当使用单DN实例无主备场景下才可以设置0。

默认值:20

wal_keep_segments

参数说明:Xlog日志文件段数量。设置“pg_xlog”目录下保留事务日志文件的最小数目,备机通过获取主机的日志进行流复制。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,2 ~ INT_MAX

默认值:128

设置建议:

  • 当服务器开启日志归档或者从检查点恢复时,保留的日志文件数量可能大于wal_keep_segments设定的值。
  • 如果此参数设置过小,则在备机请求事务日志时,此事务日志可能已经被产生的新事务日志覆盖,导致请求失败,主备关系断开。
  • 当双机为异步传输时,以COPY方式连续导入4G以上数据需要增大wal_keep_segments配置。以T6000单板为例,如果导入数据量为50G,建议调整参数为1000。您可以在导入完成并且日志同步正常后,动态恢复此参数设置。
  • 若synchronous_commit级别小于LOCAL_FLUSH,重建备机时,建议调大改参数为1000,避免重建过程中,主机日志回收导致重建失败。

wal_sender_timeout

参数说明:设置本端等待事务日志接收端接收日志的最大等待时间。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

  • 如果主机数据较大,重建备机数据库时需要增大此参数的值,主机数据在500G时,此参数的参考值为600s。
  • 此值不能大于wal_receiver_timeout或数据库重建时的超时参数。

取值范围:整型,0 ~ INT_MAX,单位为毫秒(ms)。

默认值:6s

max_replication_slots

参数说明:设置主机端的日志复制slot个数。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0~1024(建议取值范围:8~100)

默认值:20

设置建议

当使用双机复制、备份恢复、逻辑解码时,该参数值建议设为:当前物理流复制槽数+备份槽数+所需的逻辑复制槽数。如果实际设置值比上述建议值要小,那么可能造成这些功能不可用或异常。

  • 物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点或从备节点收到xlog之前,xlog不会被移除。也就是说物理流复制槽用于支撑主备HA。数据库所要的物理流复制槽数为备节点加从备的和与主节点之间的比例。例如,假设数据库高可用方案为1主、1备、1从备,则所需物理流复制槽数为2。假设数据库的高可用方案为1主3备,则所需物理流复制槽数为3。
  • 备份槽:记录备份执行过程中的一些复制信息,全量备份和增量备份各自对应单独的备份槽,共2个。
  • 目前默认不支持主备从部署方式。
  • 关于逻辑复制槽数,请按如下规则考虑:
    • 一个逻辑复制槽只能解码一个数据库的修改,如果需要解码多个数据库,则需要创建多个逻辑复制槽。
    • 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。

enable_slot_log

参数说明:是否开启复制槽主备同步特性,目前仅涉及归档槽。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示开启复制槽主备同步特性。
  • off表示不开启复制槽主备同步特性。

默认值on

max_changes_in_memory

参数说明:逻辑解码时单条事务在内存中缓存的DML语句数量上限。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~2147483647‬

默认值:4096

max_cached_tuplebufs

参数说明:逻辑解码时总元组信息在内存中缓存的数量上限。建议设置为max_changes_in_memory的两倍以上。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~2147483647‬

默认值:8192

logical_decode_options_default

参数说明:指定逻辑解码启动时未指定解码选项的全局默认值。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

当前支持指定的逻辑解码选项包括:parallel-decode-num, parallel-queue-size, max-txn-in-memory, max-reorderbuffer-in-memory, exclude-users。选项的意义请参考《开发者指南》的“应用程序开发教程 > 基于JDBC开发 > 示例:逻辑复制代码示例”章节。

取值范围:通过逗号分隔的key=value字符串,例如:'parallel-decode-num=4,parallel-queue-size=128,exclude-users=userA'。其中空字符串表示采用程序硬编码的默认值。

默认值:""

  • 该参数SIGHUP生效并不会影响已经启动的逻辑解码流程;后续逻辑解码启动将使用该参数设置的选项作为其默认配置,并优先使用启动命令中指定选项的设置。
  • 这里exclude-users选项和逻辑解码启动选项存在差异,不允许指定多个黑名单用户。

logical_sender_timeout

参数说明:设置本端等待逻辑日志接收端接收日志的最大等待时间。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0 ~ 2147483647‬,单位为毫秒(ms)。

默认值:30s

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中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第一个节点信息。

默认值:空字符串

replconninfo2

参数说明:设置本端侦听和鉴权的第二个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第二个节点信息。

默认值:空字符串

replconninfo3

参数说明:设置本端侦听和鉴权的第三个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第三个节点信息。

默认值:空字符串

replconninfo4

参数说明:设置本端侦听和鉴权的第四个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第四个节点信息。

默认值:空字符串

replconninfo5

参数说明:设置本端侦听和鉴权的第五个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第五个节点信息。

默认值:空字符串

replconninfo6

参数说明:设置本端侦听和鉴权的第六个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第六个节点信息。

默认值:空字符串

replconninfo7

参数说明:设置本端侦听和鉴权的第七个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第七个节点信息。

默认值:空字符串

replconninfo8

参数说明:设置本端侦听和鉴权的第八个节点信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第八个节点信息。

默认值:空字符串

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中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置第八个节点信息。

默认值:空字符串

available_zone

参数说明:设置本端节点所在区域信息。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串。其中空字符串表示没有配置节点信息。

默认值:空字符串

enable_availablezone

参数说明:设置本端级联备节点能否连接跨available_zone的备机。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • true表示级联备只能连接相同available_zone中的备机。
  • false表示级联备可以连接不同available_zone中的备机。

默认值:false

max_keep_log_seg

参数说明:流控参数,逻辑复制在DN本地会解析物理日志转换成逻辑日志,当未被解析的物理日志文件数量大于该参数时会触发限流。此参数为0表示关闭限流功能。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0 ~ 2147483647。

默认值:0

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

wal_flush_size

参数说明:每次wal log下刷entry的阈值。

若每条entry调大会减少下刷频率,但是每次下刷的时延变大。

默认-1,表示不进行均匀下刷,每次尽可能多的下刷。设定>0的阈值表示均匀按照阈值下刷。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:最大值16777216 ,最小值-1,单位为Byte。

默认值:-1

page_work_queue_size

参数说明:每一个redo worker的阻塞队列长度。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:最大值100000 ,最小值1。

默认值:4096