华为云用户手册

  • standby_max_query_time 参数说明:开启极致RTO功能后,支持备机上查询的最大时间,超过该时间会被取消。 何时取消查询受回收线程的时间间隔参数standby_recycle_interval和查询取快照的时间影响,因此备机上查询的实际执行时间要大于该参数。 参数类型:整型 参数单位:s(秒) 取值范围:0~86400‬ 默认值:600 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议根据实际业务需要进行调整。 设置不当的风险与影响:设置过高,出现回放和查询冲突后,会一直阻塞xlog回放,导致RTO/RPO升高。
  • max_standby_base_page_size 参数说明:开启极致RTO功能后,备机上允许base page类型文件的最大存储空间。 参数类型:整型 参数单位:kB 取值范围:1048576~562949953421311 默认值:268435456‬(256 GB) 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际物理磁盘大小,对此参数进行设置。 设置不当的风险与影响:设置过小,会导致备机读报错概率增加。
  • exrto_standby_read_opt 参数说明:支持极致RTO备机读优化。主机和备机间不同步该参数。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启优化。 off:表示关闭优化。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_standby_bufferpool 参数说明:启用极致RTO备机读独立缓冲区功能的开关。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 启用该功能开关时,开关生效需满足enable_incremental_checkpoint增量检查点打开,且参数standby_shared_buffers_fraction减去参数standby_bufferpool_scale的差值不小于0.1。
  • walrcv_writer_crc_check_level 参数说明:支持流式容灾场景下,主备数据库内备机侧的xlog校验,默认仅在灾备数据库内开启。 参数类型:整型 参数单位:无 取值范围:0~3 0:关闭校验。 1:灾备数据库内校验生效。 2:主数据库内备机侧的校验生效。 3:主数据库内的备机和灾备数据库内节点全部生效。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:容灾搭建流程会自动设置,无需用户手动设置。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_standby_archive_delay 参数说明:当开启双机热备模式时,备机读场景下进行查询就会产生冲突,此参数就是设置备机取消查询之前所等待的时间。当前版本设置暂不生效,统一由参数max_standby_streaming_delay控制。 参数类型:整型 参数单位:ms(毫秒) 取值范围:-1 ~ 2147483647。-1表示允许备机一直等待冲突的查询完成。 默认值:3000(即3s) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • wal_receiver_status_interval 参数说明:WAL日志接收线程的状态通知给主机的最大时间间隔。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 2147483 默认值:5s 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:当该参数设置为0时,表示关闭备机向主机反馈日志接收位置等信息,可能会导致主机事务提交阻塞、switchover操作失败等异常现象。正常业务场景,不建议将该参数设置为0。
  • hot_standby_feedback 参数说明:将备机上执行查询的最小事务号反馈给主机,可以避免查询冲突。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许将备机上执行查询的最小事务号反馈给主机。 off:表示不允许将备机上执行查询的最小事务号反馈给主机。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:当该参数为on时,主机的旧版本数据的清理会受限于备机正在读的事务,即主机只允许清理小于备机反馈的事务号所作的更改。因此若该参数开启时,会影响主机的性能。若备机回放与查询冲突,会出现查询报错,因此建议适当调大max_standby_streaming_delay。
  • hot_standby 参数说明:设置是否允许备机在恢复到minrecovery点后接受连接和查询。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许备机在恢复过程中连接和查询。 off:表示不允许备机在恢复过程中连接和查询。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:备机读功能开启后,即使没有响应业务,也会有一定的资源消耗,包括CPU、内存、磁盘空间、I/O占用。如果没有备机读业务,建议关闭此参数。 如果此参数设置为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),并重启实例生效。 备机读开启后,因备机回放与查询冲突,可能会出现查询被取消的报错,报错信息有: ERROR: canceling statement due to conflict with recovery ERROR: terminating connection due to conflict with recovery 在串行和并行回放备机读下,主机在进行在线重建索引时,备机读可能会报错,备机读请稍后重试。报错信息有: could not open relation with OID xxx during recovery delete object, please try again later Catalog is missing xxx attribute(s) for relid xxx cache lookup failed for index xxx, refilenode:xxx, name:"xxx" could not find pg_class entry for xxx could not open block during recovery delete object, please try again later 在极致RTO备机读的情况下,内存配置较小的虚拟机可能出现内存不足的报错,可通过开启GUC参数exrto_standby_read_opt(默认开启)有效降低内存和I/O开销,解决此问题。 典型场景下的备机读性能:使用sysbench进行测试,主机执行100并发的update类型业务,主备机同时执行200并发的读类型业务,在I/O和CPU不受限的条件下,串行回放备机读的性能不低于主机读业务性能的80%,极致RTO备机读的性能和串行回放备机读的性能相比劣化不超过10%。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • wal_receiver_buffer_size 参数说明:备机接收xLog存放到内存缓冲区的大小。 参数类型:整型 参数单位:kB 取值范围:4096~1047552 默认值:65536(即64MB) 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • max_standby_streaming_delay 参数说明:当开启双机热备模式时,如果备机正通过流复制接收WAL日志数据,这时进行查询就会产生冲突,这个参数就是设置备机取消查询之前所等待的时间。当参数值较大,或业务压力大时,概率出现查询与回放冲突的报错。 参数类型:整型 参数单位:ms(毫秒) 取值范围:-1~2147483647 -1表示允许备机一直等待冲突的查询完成。在开启串行或并行回放的场景下,当检测到查询线程与回放线程已处于死锁状态时,仍会通过取消查询来避免阻塞回放。 默认值:3000(即3s) 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:需根据业务需求谨慎调整,推荐使用默认值。设置值越大,备机的查询业务优先级越高,但会影响备机回放;设置值越小,长查询越容易被取消,但回放的优先级越高。 设置不当的风险与影响:设置过大时,如果出现与回放冲突的长查询,有可能导致回放长时间被阻塞,影响此备机的RTO和RPO指标。
  • enable_ledger 参数说明:控制是否启用账本数据库功能。若此参数设置为打开(on)状态,则启用账本数据库功能,允许创建新的防篡改模式和修改普通模式为防篡改模式。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用账本数据库功能。 off:表示不启用账本数据库功能。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数默认关闭,需要开启账本数据库功能时,将enable_ledger设置为on。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • ledger_hist_level 参数说明:全局区块表记录控制开关,用于控制全局区块表中是否记录SQL语句。 参数类型:整型 参数单位:无 取值范围: 0 表示在全局区块表中不记录SQL语句。 1 表示在全局区块表中记录SQL语句。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • table_skewness_warning_threshold 参数说明:设置用于表倾斜告警的阈值。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,并根据业务场景对表倾斜的敏感度适时调整。 设置不当的风险与影响:设置较小时,可能对表倾斜更敏感,无显著风险。
  • table_skewness_warning_rows 参数说明:设置用于表倾斜告警的行数。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:100000。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,并根据业务场景对表倾斜的敏感度适时调整。 设置不当的风险与影响:设置较小时,可能对表倾斜更敏感,无显著风险。
  • alarm_component 参数说明:在告警上报时,会进行告警抑制,即同一个实例的同一个告警项在alarm_report_interval(默认值为10s)内不做重复上报。在这种情况下设置用于处理告警内容的告警组件的位置,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法文件名称。 若前置脚本gs_preinstall中的--alarm-type参数设置为5时,表示未对接第三方组件,告警写入system_alarm日志,此时GUC参数alarm_component的取值为:/opt/huawei/snas/bin/snas_cm_cmd。 若前置脚本gs_preinstall中的--alarm-type参数设置为1时,表示对接第三方组件,此时GUC参数alarm_component的值为第三方组件的可执行程序的绝对路径。 默认值:"/opt/huawei/snas/bin/snas_cm_cmd" 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_alarm 参数说明:设置是否打开告警上报线程,上报数据库中可能的故障场景。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开告警上报线程。 off:表示关闭告警上报线程。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭该参数会导致用户无法感知数据库中的某些故障场景。 该参数生效范围仅为DN节点。
  • connection_alarm_rate 参数说明:设置允许和数据库连接的最大并发连接数的比率限制。数据库连接的最大并发连接数为max_connections* connection_alarm_rate。当并发连接数超过max_connections* connection_alarm_rate时,后台会打印连接信息的日志connection_log,日志中可以查看pg_stat_activity视图和线程池视图LOCAL_THREADPOOL_STATUS(查看pg_stat_activity视图需要开启追踪功能,查看线程池视图LOCAL_THREADPOOL_STATUS需要开启线程池功能)。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:0.9 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • alarm_report_interval 参数说明:指定告警上报的时间间隔。 参数类型:整型 参数单位:秒(s) 取值范围:0 ~ 2147483647 默认值:10 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。设置时取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响: 该值设置过大时,若指定告警上报时间间隔内检测出多次相同告警,会丢失关键告警。 该值设置过小时,若指定告警上报时间间隔内持续检测出同一告警,告警会频繁上报。
  • max_resource_package 参数说明:云上环境中,加速数据库实例每个DN可同时运行任务的线程数的上限。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_force_smp 参数说明:控制是否强制开启SMP计划。参数开启后,代价模型默认拉起stream线程的代价为空,当设置并行度并且算子支持并行时强制选择并行路径。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示强制开启SMP计划。 off:表示不强制开启SMP计划。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 该参数只对支持SMP的算子有效,具体请联系管理员。 另外,使用强制开启SMP还存在以下约束: SMP特性通过算子并行来提升性能,同时会占用更多的系统资源,包括CPU、内存、I/O等等。本质上SMP是一种以资源换取时间的方式,在合适的场景以及资源充足的情况下,合理设置并行度来较好地提升性能。 如果在不合适的场景下(如数据量较少),或资源不足的情况下,可能引起性能的劣化。 SMP非适用场景不支持此参数。
  • cluster_run_mode 参数说明:双数据库实例容灾场景标识DN节点属于主数据库实例还是备数据库实例。单数据库实例使用默认值。 参数类型:枚举类型 参数单位:无 取值范围: cluster_primary:表示节点是主数据库实例的节点。 cluster_standby:表示节点是备数据库实例的节点。 默认值:cluster_primary 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:标记灾备数据库实例使用的参数,不建议客户设置。 设置不当的风险与影响:修改后可能导致灾备数据库实例异常。
  • acceleration_with_compute_pool 参数说明:在查询包含OBS时,通过该参数决定查询是否通过计算资源池进行加速。(由于规格变更,当前版本已经不再支持本特性,请不要使用) 参数类型:布尔型 参数单位:无 取值范围: on:表示包含有OBS的查询在计算资源池可用时,会根据代价评估决定是否通过计算资源池对查询加速。 off:表示任何查询都不会通过计算资源池进行加速。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_gsplsql_execopt 参数说明:控制是否优化存储过程函数的执行。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示在存储过程初始化时分配并记录运行过程中不改变的信息,避免执行过程中无效的重复调用。 off:表示使用默认调用逻辑,每次循环都重新初始化信息。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_seqscan_fusion 参数说明:控制是否打开SeqScan优化。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开SeqScan优化。 off:表示关闭SeqScan优化。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 该参数只能优化EXPLAIN ANALYZE语句的seqscan算子的执行时间。
  • enable_gpi_auto_update 参数说明:控制在分区DDL命令中是否默认更新Global索引。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示默认更新Global索引,此时无论分区DDL带不带UPDATE GLOBAL INDEX子句,都会更新Global索引。 off:表示默认不更新Global索引,此时只有当分区DDL带UPDATE GLOBAL INDEX子句时,才会更新Global索引。 默认值:off。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置为off,当分区DDL未带UPDATE GLOBAL INDEX子句时,会使Global索引不可用。
  • enable_partition_autoextend_retry 参数说明:分区表自动扩展新增分区默认采用自治事务。该参数设置为on后,自治事务新增分区出现异常时,会重试一次同事务新增分区的逻辑。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示分区表采用自治事务自动扩展新增分区出现异常后,会重试一次同事务新增分区。 off:表示分区表采用自治事务自动扩展新增分区出现异常后,直接抛出异常。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置为off,分区表采用自治事务自动扩展新增分区出现异常后,直接抛出异常。
  • max_concurrent_autonomous_transactions 参数说明:自治事务最大连接数,即同一时间自治事务执行的最大并发数。当设置为0时,将无法执行自治事务。 参数类型:整型 参数单位:无 取值范围:0 ~ 10000,理论最大值为10000,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - max_inner_tool_connections - max_connections - AUXILIARY_BACKENDS - AV_LAUNCHER_PRO CS ”。其中,job_queue_processes、autovacuum_max_workers、max_inner_tool_connections和max_connections的值取决于对应GUC参数的设置;AUXILIARY_BACKENDS为预留辅助线程数,固定为20;AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数,固定为2。 默认值:200(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);150(96核CPU/768G内存);120(80核CPU/640G内存);100(64核CPU/512G内存);80(60核CPU/480G内存);40(32核CPU/256G内存);20(16核CPU/128G内存);10(8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)。 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据实际业务需要和硬件配置设置此参数,建议不超过max_connections的1/10。若仅调大此参数,未同比例调整内存参数,业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。 设置不当的风险与影响:若升级过程中涉及此参数范围变更,并且在commit前修改了此参数,则如果执行升级回滚,需要将此参数调整至升级前允许的范围,否则可能导致数据库无法启动。
  • dynamic_procedure_cache_count 参数说明:用于控制存储过程执行期间可以缓存动态语句的最大条数,缓存数达到最大条数后不优化后续语句。多租场景下,该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 1024,设置为0时表示不缓存。 默认值:128。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_partrouting_optimization 参数说明:控制是否支持分区表插入优化。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持分区表插入优化,针对inert select语句,当select包含常量分区键时,insert只需要做一次分区路由,提升性能。 off:表示不支持分区表插入优化,插入每一条数据前都需要做一次分区路由去确定插入哪一张分区表。 默认值:on。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:如果关闭该参数,部分插入分区表的场景会没有该参数带来的性能优化效果,无其他影响。 分区表插入优化约束: 只支持Insert select语句。 insert into ta select from tb中,插入a表中所有分区键的值,对应select结果集中的列值必须是常量(可以不存在该列,因为默认值也是恒定的)。 insert into ta select c,d from b where tb.c='1'或select '1' as c, d from tb则可以判断结果列tb.c为常量。 insert into ta select c,d from b where tb.c=func('1'); 如果func()不是volatile函数,也不是包含非常量参数的stable/immutable函数,则可以判断tb.c为常量。 如果列值为聚合函数的返回值,如:insert into ta select count(c),d from b where tb.c='1' group by c, d; 不能判断count(c)为常量。 不支持upsert子句。 不支持包含before和instead触发器的表,因为可能改变要插入的数据。
共100000条