华为云用户手册

  • transaction_sync_naptime 参数说明:为保证数据一致性,当本地事务与GTM上snapshot中状态不一样时会阻塞其他事务的运行,需要等待本地节点上事务状态与GTM状态一致后再运行。当CN上等待时长超过transaction_sync_naptime时会主动触发gs_clean进行清理,缩短不一致时的阻塞时长。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0 ~ 2147483,单位为秒(s)。 默认值:30s 若该值设为0,则不会在阻塞达到时长时主动调用gs_clean进行清理,而是靠gs_clean_timeout间隔来调用gs_clean,默认是5分钟。
  • audit_system_function_exec 参数说明:这个参数决定在执行白名单内的系统函数时是否记录审计日志。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0、1。 0表示关闭系统函数执行的审计功能。 1表示开启系统函数执行的审计功能。 默认值:0 支持审计的系统函数白名单如下表所示: set_working_grand_version_num_manually set_config pg_terminate_backend pg_cancel_backend pg_cancel_session pg_cancel_invalid_query pg_reload_conf pg_rotate_logfile pg_terminate_session pg_terminate_backend pg_start_backup pg_stop_backup pg_create_restore_point pg_switch_xlog pg_cbm_get_merged_file pg_cbm_recycle_file pg_enable_delay_ddl_recycle pg_disable_delay_ddl_recycle pg_cbm_rotate_file gs_roach_enable_delay_ddl_recycle gs_roach_disable_delay_ddl_recycle gs_roach_stop_backup pg_last_xlog_receive_location pg_xlog_replay_pause pg_xlog_replay_resume gs_roach_switch_xlog gs_pitr_archive_slot_force_advance gs_pitr_clean_history_global_barriers gs_download_obs_file gs_upload_obs_file gs_set_obs_file_context gs_set_obs_delete_location gs_hadr_do_switchover gs_set_obs_delete_location_with_slotname gs_streaming_dr_in_switchover pg_advisory_lock pg_advisory_lock_shared pg_advisory_unlock pg_advisory_unlock_shared pg_advisory_unlock_all pg_advisory_xact_lock pg_advisory_xact_lock_shared pg_try_advisory_lock pg_try_advisory_lock_shared pg_try_advisory_xact_lock pg_try_advisory_xact_lock_shared gs_get_hadr_key_cn pg_create_physical_replication_slot_extern pg_create_logical_replication_slot pg_drop_replication_slot pg_logical_slot_peek_changes pg_logical_slot_get_changes pg_logical_slot_get_binary_changes pg_replication_origin_drop pg_replication_origin_session_reset local_space_shrink gs_space_shrink global_space_shrink pg_free_remain_segment gs_fault_inject sqladvisor.init sqladvisor.set_weight_params sqladvisor.set_cost_params sqladvisor.assign_table_type gs_repair_file local_clear_bad_block_info gs_repair_page - - - - -
  • enable_access_server_directory 参数说明:是否开启非初始用户创建、修改和删除DIRECTORY的权限。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启非初始用户创建、修改和删除DIRECTORY的权限。 off表示不开启非初始用户创建、修改和删除DIRECTORY的权限。 默认值:off 用户在使用高级包UTL_FILE访问服务器端文件时,要求必须拥有所指定的DIRECTORY对象的权限。 出于安全考虑,默认情况下,只有初始用户才能够创建、修改、删除DIRECTORY对象。 如果开启了enable_access_server_directory,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象;具有SYSADMIN权限的用户、directory对象的属主、被授予了该directory的DROP权限的用户或者继承了内置角色gs_role_directory_drop权限的用户可以删除directory对象;具有SYSADMIN权限的用户和directory对象的属主可以修改directory对象的所有者,且要求该用户是新属主的成员。
  • audit_xid_info 参数说明:这个参数决定是否在审计日志字段detail_info中记录SQL语句的事务ID。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0、1。 0表示关闭审计日志记录事务ID功能。 1表示开启审计日志记录事务ID功能。 默认值:0 如果开启此开关,审计日志中detail_info信息则以xid开始,例如: detail_info: xid=14619 , create table t1(id int); 对于不存在事务ID的审计行为,记录xid=NA。
  • enable_nonsysadmin_execute_direct 参数说明:是否允许非系统管理员和非监控管理员执行EXECUTE DIRECT ON语句。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许任意用户执行EXECUTE DIRECT ON语句。 off表示只允许系统管理员和监控管理员执行EXECUTE DIRECT ON语句。 默认值:off
  • audit_system_object 参数说明:该参数决定是否对数据库对象的CREATE、DROP、ALTER操作进行审计。数据库对象包括DATABASE、USER、schema、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作,在主备强制选主场景建议audit_system_object取最大值,所有DDL对象全部审计。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~536870911 0代表关闭数据库对象的CREATE、DROP、ALTER操作审计功能。 非0代表只审计某类或者某些数据库对象的CREATE、DROP、ALTER操作。 取值说明: 该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这29个二进制位代表的具体审计内容请参见表1。 用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次,如果调用remote接口,则会在入参对应的节点上产生DDL日志,而不是在下发语句的节点上。 默认值:67121159,表示对DATABASE、SCHEMA、USER、DATA SOURCE、NODE GROUP、SQLPatch这几种数据库对象的DDL操作进行审计。 表1 audit_system_object取值含义说明 二进制位 含义 取值说明 第0位 是否审计DATABASE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第1位 是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第2位 是否审计USER和USER MAPPING对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第3位 是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 第4位 是否审计INDEX对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第5位 是否审计VIEW/MATVIEW对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第6位 是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第7位 是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第8位 是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第9位 是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第10位 是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第11位 保留 - 第12位 是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第13位 是否审计NODE GROUP对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第14位 是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第15位 是否审计TYPE对象的CREATE、DROP、ALTER操作。 0表示不审计TYPE对象的CREATE、DROP、ALTER操作。 1表示审计TYPE对象的CREATE、DROP、ALTER操作。 第16位 是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 第17位 是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作。 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。 第18位 是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作。 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 第19位 是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作。 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。 第20位 是否审计CMK、CEK对象的CREATE、ALTER、DROP操作。 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。 第21位 是否审计PACKAGE对象的CREATE、DROP、ALTER操作(目前仅集中式支持PACKAGE)。 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。 第22位 保留 - 第23位 保留 - 第24位 是否审计对gs_global_config全局对象的ALTER、DROP操作。 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。 第25位 保留 - 第26位 是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 第27位 保留 - 第28位 是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。
  • no_audit_client 参数说明:该参数用于配置不需要审计的客户端名称及IP地址列表。参数格式为:客户端名称@IP,同pg_query_audit函数中的client_conninfo字段,例如“cm_agent@127.0.0.1, gs_clean@127.0.0.1”。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,多个配置项需使用逗号分隔。 默认值:空字符串 当执行的SQL语句同时满足full_audit_users和no_audit_client参数配置时,以no_audit_client配置优先,不记录审计日志。 数据库服务端内部工具或节点之间通信也会产生审计日志,针对这些风险较低的审计场景的可以通过配置no_audit_client参数不记录审计,以节约审计日志占用空间,提升审计日志查询性能。
  • audit_login_logout 参数说明:这个参数决定是否审计用户的登录(包括登录成功和登录失败)、注销。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~7。 0表示关闭用户登录、注销审计功能。 1表示只审计用户登录成功。 2表示只审计用户登录失败。 3表示只审计用户登录成功和失败。 4表示只审计用户注销。 5表示只审计用户注销和登录成功。 6表示只审计用户注销和登录失败。 7表示审计用户登录成功、失败和注销。 默认值:7
  • numa_distribute_mode 参数说明:用于控制部分共享数据和线程在NUMA节点间分布的属性。用于大型多NUMA节点的ARM服务器性能调优,一般不用设置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,当前有效取值为'none', 'all'。 none:表示不启用本特性。 all:表示将部分共享数据和线程分布到不同的NUMA节点下,减少远端访存次数,提高性能。目前仅适用于拥有多个NUMA节点的ARM服务器,并且要求全部NUMA节点都可用于数据库进程,不支持仅选择一部分NUMA节点。 当前版本x86平台下不支持numa_distribute_mode设置为all。 默认值:'none'
  • advance_xlog_file_num 参数说明:用于控制在后台周期性地提前初始化xlog文件的数目。该参数是为了避免事务提交时执行xlog文件初始化影响性能,但仅在超重负载时才可能出现,因此一般不用配置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~1000000(0表示不提前初始化)。例如,取值10,表示后台线程会周期性地根据当前xlog写入位置提前初始化10个xlog文件。 默认值:0
  • string_hash_compatible 参数说明:该参数用来说明char类型和varchar/text类型的hash值计算方式是否相同,以此来判断进行分布列从char类型到相同值的varchar/text类型转换,数据分布变化时,是否需要进行重分布。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示计算方式相同,不需要进行重分布。 off表示计算方式不同,需要进行重分布。 计算方式的不同主要体现在字符串计算hash值时传入的字节长度上。(如果为char,则会忽略字符串后面空格的长度,如果为text或varchar,则会保留字符串后面空格的长度。)hash值的计算会影响到查询的计算结果,因此此参数一旦设置后,在整个数据库使用过程中不能再对其进行修改,以避免查询错误。 默认值:off
  • ustore_attr 参数说明:该参数主要用来控制USTORE存储引擎表的信息统计,回滚类型,重点模块(包括数据、索引、回滚段、回放等)运行时数据的校验,主要用于协助研发问题定位。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,该参数值的设置方式采用key-value模式,key和value取值对应关系和说明如下。如果是多个key-value组合设置,中间使用";"作为分隔符,例如:ustore_attr='ustore_verify_level=FAST;ustore_verify_module=UPAGE:UBTREE:UNDO:REDO'。 ustore_attr设置参数值时,key和value之间的"="前后不要有空格或者其他字符,例如ustore_attr='ustore_verify_level = FAST;,内核代码校验会发现参数不合法,导致参数设置失败。 ustore_verify_level:控制校验的级别 取值范围:字符串,取值不分区大小写,见下述表格详细描述。 表1 ustore_verify_level取值含义说明 参数取值 含义 NONE NONE表示关闭校验,性能测试场景下推荐开启。 FAST FAST表示快速校验,校验内容少,性能影响最小。 COMPLETE COMPLETE表示全量校验,校验内容最多,性能影响比较大。 默认值:FAST ustore_verify_module:控制校验的模块 取值范围:字符串,设置值UPAGE,UBTREE,UNDO, REDO,ROACH中的一个或者多个,或者单独设置ALL或者NULL(不区分大小写)。当设置 UPAGE,UBTREE,UNDO,REDO,ROACH中的多个值时,使用":"作为连接符。例如ustore_verify_module=UPAGE:UBTREE:UNDO:REDO。 当用户打开ROACH模块,在ROACH备份过程中将无视ustore_verify_level参数,默认最高级别校验,对性能影响极大,建议谨慎使用。 表2 ustore_verify_module取值含义说明 参数取值 含义 UPAGE 表示开启数据页面校验。 UBTREE 表示开启UBTREE索引校验。 UNDO 表示开启回滚段数据校验。 REDO 表示开启REDO流程的数据页面校验。 ROACH 表示开启ROACH备份时数据页面校验。 ALL 表示同时开启UPAGE,UBTREE,UNDO,REDO, ROACH模块数据的校验。 NULL 表示同时关闭UPAGE,UBTREE,UNDO,REDO, ROACH模块数据的校验。 默认值:UPAGE:UBTREE:UNDO index_trace_level:控制开启索引追踪并控制打印级别,开启后在索引扫描的过程中,会根据不同的打印级别对符合条件的索引元组的信息进行打印 取值范围:字符串,取值见表格描述 默认值:NO 表3 index_trace_level取值含义说明 参数取值 含义 NO 不打印任何额外信息。 NORMAL 打印可见索引元组相关信息,包括: 当前索引元组所在索引页面号以及偏移。 当前元组状态。 当前元组对应的TID以及partOid。 当前元组对应的xmin和xmax信息。 当前元组内容(如果开启 enable_log_tuple)。 VISIBILITY 在 NORMAL 的基础上,额外打印没有通过可见性检查的索引元组的信息,并标明是否可见。 SHOWHIKEY 在 VISIBILITY 的基础上,尝试打印页面上 HIKEY 元组的信息。 ALL 打印扫描的索引页面上所有元组的相关信息。 enable_log_tuple:打印日志级提示信息时,是否允许同时将相关元组的内容打印出来,以便进行问题排查和定位。 取值范围:on或者off(不区分大小写) 默认值:off enable_ustore_sync_rollback:控制USTORE表是否开启同步回滚。 取值范围:布尔值 默认值:true enable_ustore_async_rollback:控制USTORE表是否开启异步回滚。 取值范围:布尔值 默认值:true enable_ustore_page_rollback:控制USTORE表是否开启页面回滚。 取值范围:布尔值 默认值:true enable_ustore_partial_seqscan:是否允许USTORE表开启部分扫描。 取值范围:布尔值 默认值:false enable_candidate_buf_usage_count:是否开启缓存区使用计数统计。 取值范围:布尔值 默认值:false ustats_tracker_naptime:控制USTORE表统计信息周期。 取值范围:1~INT_MAX/1000 默认值:20, 单位(秒) umax_search_length_for_prune:控制USTORE表prune操作搜索的最大深度。 取值范围:1~INT_MAX/1000 默认值:10,单次(次) ustore_unit_test:研发白盒测试指定测试参数。 取值范围:字符串 默认值:空 默认值:空字符串 ustore_attr 参数设置请慎重,建议在工程师协助下修改。
  • 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
  • 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
  • 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设置,这会导致无条件地将它们记录到服务器日志上。
  • zero_damaged_pages 参数说明:控制检测导致GaussDB报告错误的损坏的页头,终止当前事务。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on时,会导致系统报告一个警告,把损坏的页面填充为零然后继续处理。这种行为会破坏数据,也就是所有在已经损坏页面上的行记录。但是它允许绕开坏页面然后从表中尚存的未损坏页面上继续检索数据行。因此它在因为硬件或者软件错误导致的崩溃中进行恢复是很有用的。通常不应该把它设置为on,除非不需要从崩溃的页面中恢复数据。 设置为off时,系统不会将损坏页面填充零。 默认值:off
  • hadr_max_size_for_xlog_receiver 参数说明:该参数为异地容灾参数,表示灾备集群中实例获取obs端日志和本地回放日志的最大允许差距,若差距大于此值时停止获取obs端日志。 该参数属于SIGHUP类型参数,请参考表2中方式对应设置方法进行设置。 修改建议:该参数的取值应和本地磁盘大小相关,建议设置为磁盘大小的50%。 取值范围:整型,0~2147483647‬,单位为KB。 默认值:256GB
  • enable_defer_calculate_snapshot 参数说明:延迟计算快照的xmin和oldestxmin,执行1000个事务或者间隔1s才触发计算,设置为on时可以在高负载场景下减少计算快照的开销,但是会导致oldestxmin推进较慢,影响垃圾元组回收,设置为off时xmin和oldestxmin可以实时推进,但是会增加计算快照时的开销。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型。 on表示延迟计算快照xmin和oldestxmin。 off表示实时计算快照xmin和oldestxmin。 默认值:on。
  • enable_twophase_commit 参数说明:当前云数据库主要解决SDS替换问题,采用模式为GTM Free,为防止业务滥用导致不可靠问题,提供guc参数开关enable_twophase_commit禁用分布式写事务,该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示开启GTM-FREE模式下,允许业务进行分布式两阶段写事务。 off表示开启GTM-FREE模式下,禁止业务进行分布式两阶段写事务。 默认值:on
  • application_type 参数说明:此参数仅在enable_gtm_free为on时有效。此参数用来说明用户的业务类型。该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。此参数不允许使用gs_guc设置,只允许以下列两种方式设置: 使用gsql等客户端在session级别设置。 使用jdbc连接数据库时,给连接字符串指定ApplicationType参数。 取值范围:枚举类型 not_perfect_sharding_type表示跨节点的业务。取此值时,允许执行跨节点的语句。 perfect_sharding_type表示单节点的业务。取此值时,如果SQL语句需要多个节点参与,会直接报错。对应的SQL语句会同时打印到系统日志中。 取此值时,使用/*+ multinode */ hint可以显示允许SQL语句在多个节点执行。multinode hint可以加到select、insert、update、delete、merge关键字之后。
  • transaction_isolation 参数说明:设置当前事务的隔离级别。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:字符串,只识别以下字符串,大小写空格敏感: serializable:GaussDB中等价于REPEATABLE READ。 read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数据。 repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。 read uncommitted:读未提交,可以读取任何时刻的数据。 default:设置为defualt_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个字符。 此参数修改后会导致连接集群失败,不建议进行修改。 取值范围:字符串。 默认值:当前节点名称。
  • transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。该参数为预留参数,该版本不生效。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示允许执行。 off表示不允许执行。 默认值:off
  • enable_gtm_free 参数说明:大并发场景下同一时刻存在活跃事务较多,GTM下发的快照变大且快照请求变多的情况下,瓶颈卡在GTM与CN通讯的网络上。为消除该瓶颈,引入GTM-FREE模式。取消CN和GTM的交互,取消CN下发GTM获取的事务信息给DN。CN只向各个DN发送query,各个DN由本地产生快照及xid等信息,开启该参数支持分布式事务读最终一致性,即分布式事务只有写外部一致性,不具有读外部一致性。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 业务使用GTM-Free模式时,建议将application_type设置成perfect_sharding_type,以便及时发现可能导致数据不一致的SQL语句。否则,系统不会拦截可能导致数据不一致的语句,造成数据不一致。 取值范围:布尔型 on表示开启GTM-FREE模式,集群状态为读最终一致性。 off表示非GTM-FREE模式。 默认值:off
  • persistent_datanode_connections 参数说明:会话是否会释放获得的连接。 该参数属于BACKEND类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 off表示会释放获得连接。 on表示不会释放获得连接。 打开此开关后,会存在会话持有连接但并未运行查询的情况,导致其他查询申请不到连接报错。出现此问题时,需约束会话数量小于等于max_active_statements。 默认值:off
  • max_coordinators 参数说明:集群中CN的最大数目,当集群规模有变化时,如增加节点、减少节点,可能需要调整该参数。扩容时,请确保此参数值大于需要扩容到的集群中CN的个数,否则会导致扩容失败。缩容时,若此参数值偏大,CN启动时会消耗更多的内存资源,但总体来说对CN内存影响不大。 参数类型:整型 参数单位:无 取值范围:2~1024 默认值:128 设置方式:该参数属于POSTMASTER类型参数,不建议修改此参数,若需修改,请参考表2中对应设置方法进行设置。 设置建议:按照集群的实际规格进行设置,当该参数小于集群当前CN个数,会导致节点创建失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。
  • max_datanodes 参数说明:集群中DN的最大数目,当集群规模有变化时,如增加节点、减少节点,可能需要调整该参数。扩容时,请确保此参数值大于需要扩容到的集群中DN总分片数,否则会导致扩容失败。缩容时,若此参数值偏大,CN启动时会消耗更多的内存资源,但总体来说对CN内存影响不大。 参数类型:整型 参数单位:无 取值范围:2-65535 默认值:256 设置方式:该参数属于POSTMASTER类型参数,不建议修改此参数,若需修改,请参考表2中对应设置方法进行设置。 设置建议:按照集群的实际规格进行设置,当该参数小于集群当前DN个数,会导致节点创建失败。由于CN启动时,会根据参数值提前申请内存,所以当该参数值变大,系统会消耗更多内存资源,但总体来说对CN内存影响不大。
  • pooler_connect_interval_time 参数说明:pooler建链重试功能使用,当参数pooler_connect_max_loops设置大于1时,该参数可以控制不同重试轮数之间执行时间间隔。参数设置方面,建议略大于当前集群主备切换恢复时间即。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:整型,最小值为0,最大值为7200,最小单位为秒。 默认值:15s
共100000条