华为云用户手册

  • numa_distribute_mode 参数说明:用于控制部分共享数据和线程在NUMA节点间分布的属性。用于大型多NUMA节点的ARM服务器性能调优,一般不用设置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,当前有效取值为'none', 'all'。 none: 表示不启用本特性。 all:表示将部分共享数据和线程分布到不同的NUMA节点下,减少远端访存次数,提高性能。目前仅适用于拥有多个NUMA节点的ARM服务器,并且要求全部NUMA节点都可用于数据库进程,不支持仅选择一部分NUMA节点。 当前版本x86架构下不支持numa_distribute_mode设置为all。 默认值:'none'
  • allow_system_table_mods 参数说明:设置是否允许修改系统表的结构或系统自带模式名称。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许修改系统表的结构或系统自带模式名称。 off表示不允许修改系统表的结构或系统自带模式名称。 默认值:off 不建议修改该参数默认值,若设置为on,可能导致系统表损坏,甚至数据库无法启动。
  • debug_assertions 参数说明:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译 GaussDB 的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开断言检查。 off表示不打开断言检查。 当启用断言选项编译GaussDB时,debug_assertions缺省值为on 。 默认值:off
  • post_auth_delay 参数说明:在认证成功后,延迟指定时间,启动服务器连接。允许调试器附加到启动进程上。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为0,最大值为2147,单位为秒。 默认值:0 此参数只用于调试和问题定位,为避免影响正常业务运行,生产环境下请确保参数值为默认值0。参数设置为非0时可能会因认证延迟时间过长导致数据库实例状态异常。
  • trace_recovery_messages 参数说明:启用恢复相关调试输出的日志录,否则将不会被记录。该参数允许覆盖正常设置的log_min_messages,但是仅限于特定的消息,这是为了在调试备机中使用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、log,取值的详细信息请参见log_min_messages。 默认值:log 默认值log表示不影响记录决策。 除默认值外,其他值会导致优先级更高的恢复相关调试信息被记录,因为它们有log优先权。对于常见的log_min_messages设置,这会导致无条件地将它们记录到服务器日志上。
  • allow_create_sysobject 参数说明:设置是否允许在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词、聚合函数等对象,并允许初始用户在系统模式下创建操作符。sysadmin用户具有默认create or replace/alter/grant/revoke系统对象的权限。其他用户是否允许创建这些对象请参考对应模式的权限要求。 off表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。sysadmin用户不具有默认create or replace/alter/grant/revoke系统对象的权限。 默认值:on
  • hadr_process_type 参数说明:基于流式复制异地容灾解决方案或者同城双中心高可用方案的流程标识。 该参数属于SIGHUP类型参数,改请参考表2进行设置。 取值范围:枚举类型。 none表示当前无流程。 failover表示当前处于灾备数据库实例升主流程。 switchover_promote表示主备数据库实例倒换流程中灾备数据库实例升主流程。 switchover_demote表示主备数据库实例倒换流程中主数据库实例降为灾备数据库实例流程。 dorado_failover表示dorado灾备数据库实例升主流程。 dorado_switchover_demote表示dorado主备数据库实例倒换流程中主数据库实例降为灾备数据库实例流程。 dorado_failover_abnormal表示dorado主数据库实例共享盘故障时,灾备数据库实例升主流程。 默认值:none
  • transaction_isolation 参数说明:设置当前事务的隔离级别。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,只识别以下字符串,大小写空格敏感: serializable:GaussDB中等价于REPEATABLE READ。 read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数据。 repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。 default:设置为default_transaction_isolation所设隔离级别。 默认值:read committed
  • pgxc_node_name 参数说明:指定节点名称。 该参数属于POSTMASTER类型参数,请参考表2进行设置。 在备机请求主机进行日志复制时,如果application_name参数没有被设置,那么pgxc_node_name参数会被用来作为备机在主机上的流复制槽名字。该流复制槽的命名方式为 "该参数值_备机ip_备机port"。其中,备机ip和备机port取自replconninfo参数中指定的备机ip和端口号。该流复制槽最大长度为61个字符,如果拼接后的字符串超过该长度,则会使用截断后的pgxc_node_name进行拼接,以保证流复制槽名字长度小于等于61个字符。 此参数修改后会导致连接数据库实例失败,不建议进行修改。 取值范围:字符串 默认值:当前节点名称
  • enable_defer_calculate_snapshot 参数说明:延迟计算快照的xmin和oldestxmin,执行1000个事务或者间隔1s才触发计算,设置为on时可以在高负载场景下减少计算快照的开销,但是会导致oldestxmin推进较慢,影响垃圾元组回收,设置为off时xmin和oldestxmin可以实时推进,但是会增加计算快照时的开销。 该参数属于SIGHUP类型参数,改请参考表2进行设置 取值范围:布尔型。 on表示延迟计算快照xmin和oldestxmin。 off表示实时计算快照xmin和oldestxmin。 默认值:on。
  • transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。该参数为预留参数,该版本不生效。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许执行。 off表示不允许执行。 默认值:off
  • restart_after_crash 参数说明:设置为on,后端进程崩溃时,GaussDB将自动重新初始化此后端进程。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示能够最大限度地提高数据库的可用性。 在某些情况(比如当采用管理工具(例如xCAT)管理GaussDB时),能够最大限度地提高数据库的可用性。 off表示能够使得管理工具在后端进程崩溃时获取控制权并采取适当的措施进行处理。 默认值:on
  • data_sync_retry 参数说明:控制当fsync到磁盘失败后是否继续运行数据库。由于在某些操作系统的场景下,fsync失败后重试阶段即使再次fsync失败也不会报错,从而导致数据丢失。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示当fsync同步到磁盘失败后采取重试机制,数据库继续运行。 off表示当fsync同步到磁盘失败后直接报panic,停止数据库。 默认值:off
  • remote_read_mode 参数说明:远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示关闭远程读功能。 non_authentication表示开启远程读功能,但不进行证书认证。 authentication表示开启远程读功能,但要进行证书认证。 默认值:authentication
  • omit_encoding_error 参数说明:设置为on,数据库的客户端字符集编码为UTF-8时,出现的字符编码转换错误将打印在日志中,有转换错误的被转换字符会被忽略,以"?"代替。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示有转换错误的字符将被忽略,以"?"代替,打印错误信息到日志中。 off表示有转换错误的字符不能被转换,打印错误信息到终端。 默认值:off
  • synchronize_seqscans 参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示扫描可能从表的中间开始,然后选择"环绕"方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。 off表示确保顺序扫描是从表头开始的。 默认值:on
  • default_with_oids 参数说明:在没有声明WITH OIDS和WITHOUT OIDS的情况下,这个选项控制在新创建的表中CREATE TABLE和CREATE TABLE AS是否包含一个OID字段。它还决定SELECT INTO创建的表里面是否包含OID 。 不推荐在用户表中使用OID,故默认设置为off。需要带有OID字段的表应该在创建时声明WITH OIDS 。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示在新创建的表中CREATE TABLE和CREATE TABLE AS可以包含一个OID字段。 off表示在新创建的表中CREATE TABLE和CREATE TABLE AS不可以包含一个OID字段。 默认值:off
  • escape_string_warning 参数说明:警告在普通字符串中直接使用反斜杠转义。 如果需要使用反斜杠作为转义,可以调整为使用转义字符串语法(E'...')来做转义,因为在每个SQL标准中,普通字符串的默认行为现在将反斜杠作为一个普通字符。 这个变量可以帮助定位需要改变的代码。 使用E转义会导致部分场景下日志记录不全。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 默认值:on
  • quote_all_identifiers 参数说明:当数据库生成SQL时,此选项强制引用所有的标识符(包括非关键字)。这将影响到EXPLAIN的输出及函数的结果,例如pg_get_viewdef。详细说明请参见gs_dump的--quote-all-identifiers选项。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开强制引用。 off表示关闭强制引用。 默认值:off
  • backslash_quote 参数说明:控制字符串文本中的单引号是否能够用\'表示。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 取值范围:枚举类型 on表示一直允许使用\'表示。 off表示拒绝使用\'表示。 safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。 默认值:safe_encoding
  • standard_conforming_strings 参数说明:控制普通字符串文本('...')中是否按照SQL标准把反斜扛当普通文本。 应用程序通过检查这个参数可以判断字符串文本的处理方式。 建议明确使用转义字符串语法(E'...')来转义字符。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开控制功能。 off表示关闭控制功能。 默认值:on
  • num_internal_lock_partitions 参数说明:控制内部轻量级锁分区的个数。主要用于各类场景的性能调优。内容以关键字和数字的KV方式组织,各个不同类型锁之间以逗号隔开。先后顺序对设置结果不影响,例如“C LOG _PART=256, CS NLOG_PART=512”等同于“CSNLOG_PART=512,CLOG_PART=256”。重复设置同一关键字时,以最后一次设置为准,例如“CLOG_PART=256,CLOG_PART=2”,设置的结果为CLOG_PART=2。当没有设置关键字时,则为默认值,各类锁的使用描述和最大、最小、默认值如下。 CLOG_PART:CLOG文件控制器的个数,增大该值可以提高CLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CLOG日志写入冲突变大,影响性能。最小值为1,最大值为256。 CSNLOG_PART:CSNLOG文件控制器的个数,增大该值可以提高CSNLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CSNLOG日志写入冲突变大,影响性能。最小值为1,最大值为512。 LOG2_LOCKTABLE_PART:常规锁表锁分区个数的2对数,增大该值可以提升正常流程常规锁获取锁的并行度,但是可能增加锁转移和锁消除时的耗时,对于等待事件在LockMgrLock时,可以调大该锁增加性能。最小值4,即锁分区数为16;最大值为16,即锁分区数为65536。 TWOPHASE_PART:两阶段事务锁的分区数,调大该值可以提高两阶段事务提交的并发数。最小值为1,最大值为64。 FASTPATH_PART:每个线程可以不通过主锁表拿锁的最大锁个数,对于分区表读取、更新、插入、删除操作且等待事件在LockMgrLock时,可以通过调大该值避免获取LockMgrLock提升性能,建议调整数量大于等于分区数*(1+本地索引数量)+全局索引数量+10,调大该值会额外增加内存。最小值为20,最大值为10000。 该参数属于POSTMASTER类型参数,参考表1中对应设置方法进行设置。 取值范围:字符串 默认值: 'CLOG_PART=256,CSNLOG_PART=512,LOG2_LOCKTABLE_PART=4,TWOPHASE_PART=1,FASTPATH_PART=20'(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);'CLOG_PART=8,CSNLOG_PART=16,LOG2_LOCKTABLE_PART=4,TWOPHASE_PART=1,FASTPATH_PART=20'(4核CPU/16G内存)
  • max_pred_locks_per_transaction 参数说明:控制每个事务允许断定锁的最大数量,是一个平均值。 共享的断定锁表的大小是以假设任意时刻最多只有max_pred_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在服务器启动的时候设置。 增大这个参数可能导致GaussDB请求更多的System V共享内存,有可能超过操作系统的缺省配置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,10 ~ INT_MAX 默认值:64
  • partition_lock_upgrade_timeout 参数说明:在执行某些查询语句的过程中,会需要将分区表上的锁级别由允许读的ExclusiveLock级别升级到读写阻塞的AccessExclusiveLock级别。如果此时已经存在并发的读事务,那么该锁升级操作将阻塞等待。partition_lock_upgrade_timeout为尝试锁升级的等待超时时间。 在分区表上进行MERGE PARTITION和CLUSTER PARTITION操作时,都利用了临时表进行数据重排和文件交换,为了最大程度提高分区上的操作并发度,在数据重排阶段给相关分区加锁ExclusiveLock,在文件交换阶段加锁AccessExclusiveLock。 常规加锁方式是等待加锁,直到加锁成功,或者等待时间超过lockwait_timeout发生超时失败。 在分区表上进行MERGE PARTITION或CLUSTER PARTITION操作时,进入文件交换阶段需要申请加锁AccessExclusiveLock,加锁方式是尝试性加锁,加锁成功了则立即返回,不成功则等待50ms后继续下次尝试,加锁超时时间使用会话级设置参数partition_lock_upgrade_timeout。 特殊值:若partition_lock_upgrade_timeout取值-1,表示无限等待,即不停的尝试锁升级,直到加锁成功。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值-1,最大值3000,单位为秒(s)。 默认值:1800
  • deadlock_timeout 参数说明:设置死锁超时检测时间,以毫秒为单位。当申请的锁超过设定值时,系统会检查是否产生了死锁。该参数仅针对常规锁生效。 死锁的检查代价是比较高的,服务器不会在每次等待锁的时候都运行这个过程。在系统运行过程中死锁是不经常出现的,因此在检查死锁前只需等待一个相对较短的时间。增加这个值就减少了无用的死锁检查浪费的时间,但是会减慢真正的死锁错误报告的速度。在一个负载过重的服务器上,用户可能需要增大它。这个值的设置应该超过事务持续时间,这样就可以减少在锁释放之前就开始死锁检查的问题。 当设置log_lock_waits为on时,deadlock_timeout决定一个等待时间来将查询执行过程中的锁等待耗时信息写入日志。如果要研究锁延时情况,可以设置deadlock_timeout的值比正常情况小。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483647,单位为毫秒(ms)。 默认值:1s
  • max_locks_per_transaction 参数说明:控制每个事务能够得到的平均的对象锁的数量。 共享的锁表的大小是以假设任意时刻最多只有max_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在数据库启动的时候设置。 增大这个参数可能导致GaussDB请求更多的System V共享内存,有可能超过操作系统的缺省配置。 当运行备机时,请将此参数设置不小于主机上的值,否则,在备机上查询操作不会被允许。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,10 ~ INT_MAX 默认值: 256(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);64(4核CPU/16G内存)
  • local_preload_libraries 参数说明:指定一个或多个共享库,它们在开始连接前预先加载。多个加载库之间用逗号分隔,除了双引号,所有的库名都转换为小写。 并非只有系统管理员才能更改此选项,因此只能加载安装的标准库目录下plugins子目录中的库文件,数据库管理员有责任确保该目录中的库都是安全的。local_preload_libraries中指定的项可以明确含有该目录,例如$libdir/plugins/mylib;也可以仅指定库的名称,例如mylib(等价于$libdir/plugins/mylib)。 与shared_preload_libraries不同,在会话开始之前加载模块与在会话中使用到该模块的时候临时加载相比并不具有性能优势。相反,这个特性的目的是为了调试或者测量在特定会话中不明确使用LOAD加载的库。例如针对某个用户将该参数设为ALTER USER SET来进行调试。 当指定的库未找到时,连接会失败。 每一个支持GaussDB的库都有一个“magic block”用于确保兼容性,因此不支持GaussDB的库不能通过这个方法加载。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:空
  • dynamic_library_path 参数说明:设置数据查找动态加载的共享库文件的路径。当需要打开一个可以动态装载的模块并且在CREATE FUNCTION或LOAD命令里面声明的名称没有目录部分时,系统将搜索这个目录以查找声明的文件,仅sysadmin用户可以访问。 用于dynamic_library_path的数值必须是一个冒号分隔的绝对路径列表。当一个路径名称以特殊变量$libdir为开头时,会替换为GaussDB发布提供的模块安装路径。例如: 1 dynamic_library_path = '/usr/local/lib/gaussdb:/opt/testgs/lib:$libdir' 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 设置为空字符串,表示关闭自动路径搜索。 默认值:$libdir
  • lc_messages 参数说明:设置信息显示的语言。 可接受的值是与系统相关的。 在一些系统上,这个区域范畴并不存在,不过仍然允许设置这个变量,只是不会有任何效果。同样,也有可能是所期望的语言的翻译信息不存在。在这种情况下,用户仍然能看到英文信息。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_monetary 参数说明:设置货币值的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
共100000条