华为云用户手册

  • use_workload_manager 参数说明:设置是否开启资源管理功能。多租数据库特性(enable_mtd)需要开启该参数。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开资源管理。 off:表示关闭资源管理。 默认值:on 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 当使用表1中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该参数值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 use_workload_manager参数由off变为on状态后,不会统计off时的存储资源。如果需要统计off时用户使用的存储资源,请在数据库中执行以下SQL语句: 1 SELECT gs_wlm_readjust_user_space(0);
  • sql_use_spacelimit 参数说明:限制单个SQL在单个数据库节点上,触发写盘操作时,所有类型写盘文件的总空间大小,管控的空间包括普通表、临时表以及中间结果集写盘占用的空间。该参数可在PDB级别设置。 参数类型:整型 参数单位:kB 取值范围:-1~2147483647,其中-1表示没有限制。 默认值:-1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。取值如果要带单位,必须为kB、MB、GB。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • upgrade_mode 参数说明:升级模式。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647‬ 0:表示不在升级过程中。 1:表示在就地升级过程中。 2:表示在灰度升级过程中。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数属于升级参数,不建议用户自己修改。推荐使用默认值。 设置不当的风险与影响:严禁升级过程中自行修改该参数,将会导致升级失败且无法回滚的严重问题。非升级场景下,自行修改该参数会导致数据库使用报错或其他不可预知后果。 特殊情况:在使用灰度升级的情况下,若选择策略为大版本升级,即需要执行升级脚本和替换二进制包,会将upgrade_mode设置为2,选择策略为小版本升级,只替换二进制包,则不会设置upgrade_mode设置为2。
  • om_operation_mode 参数说明:数据库实例处于运维或者正常运行状态。该参数用于内部组件交互,不允许用户使用。 参数类型:枚举类型 参数单位:无 取值范围:‬ upgrade_system_object_mode表示升级正处于系统对象更新阶段。 running_mode表示升级正常运行阶段。 默认值:running_mode 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数配置为upgrade_system_object_mode,会导致不能重命名数据库名称。
  • PARALLEL_DECODE_THREAD_INFO PARALLEL_DECODE_THREAD_INFO视图用于查看当前节点上进行并行解码的线程信息,如表1所示。 表1 PARALLEL_DECODE_THREAD_INFO字段 名称 类型 描述 thread_id bigint 线程id。 slot_name text 复制槽名。 thread_type text 线程种类(共三种,sender代表发送线程,reader代表读取线程,decoder代表解码线程)。 seq_number integer 当前复制槽中同种线程的序号(从1开始)。 父主题: Utility
  • shared_preload_libraries 参数说明:此参数用于声明一个或者多个在数据库启动的时候需要预先装载的共享库,多个库名字之间用逗号分隔。比如 '$libdir/mylib' 会在加载标准库目录中的库文件之前预先加载mylib.so(某些平台上可能是mylib.sl),当前该参数只能由sysadmin用户可以访问设置。 如果被声明的库不存在, GaussDB 服务将会启动失败。 每一个支持GaussDB的库都有一个特殊的标记用于保证兼容性。因此,不支持GaussDB的库不能用这种方法加载。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:''platform_compatibility_b,security_plugin'' 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:可以用这个方法预先装载GaussDB的存储过程库,通常是使用'$libdir/plXXX'语法。XXX只能是pgsql、perl、tcl、python之一。 通过预先装载一个共享库并在需要的时候进行初始化,可以避免第一次使用这个库的加载时间。但是启动每个服务器进程的时间可能会增加,即使进程从来没有使用过这些库。因此建议对那些将被大多数会话使用的库才使用这个选项。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • audit_file_remain_time 参数说明:表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 参数类型:整型 参数单位:天(day) 取值范围:0 ~ 730,0表示无时间限制。 默认值:90 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:根据实际需要保留审计日志的时间设置。audit_resource_policy为on时请不要随意调整此参数。 设置不当的风险与影响:该参数在audit_resource_policy为off时生效。设置过小会导致保留的审计日志量过少,审计追溯有效时长降低;设置过大会导致审计目录下保存过多审计日志,影响审计查询/删除的性能、占用磁盘空间。
  • audit_thread_num 参数说明:该参数表示用于审计的线程个数。 参数类型:整型 参数单位:个(表示线程数量) 取值范围:1 ~ 48 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:当audit_dml_state开关打开且在高性能场景下,建议增大此参数保证审计消息可以被及时处理和记录;其他情况建议设置为默认值。 设置不当的风险与影响:线程数量设置越多,对系统性能的影响越大,占用的系统CPU和I/O越多。
  • audit_file_remain_threshold 参数说明:审计目录下审计文件个数的最大值。 参数类型:整型 参数单位:个 取值范围:100 ~ 1048576 默认值:1048576 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。详情请参考以下须知。 1048576(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内存);1024(4核CPU/16G内存),不要随意调整此参数,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。 设置不当的风险与影响:设置不当可能会导致audit_resource_policy无法生效。
  • audit_space_limit 参数说明:审计文件占用的磁盘空间总量。 参数类型:整型 参数单位:kB 取值范围:1024 ~ 1073741824(1024GB) 默认值:1GB(1048576kB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值131072,表示audit_space_limit为131072kB;带单位取值128MB,表示audit_space_limit为128MB。取值如果要加上单位,必须为“kB”、“MB”、“GB”。 设置建议:建议根据实例实际可用空间及需要保存的审计日志量来设置。 设置不当的风险与影响:该参数在audit_resource_policy为on时生效。设置过小会导致保留的审计日志量过少,审计追溯有效时长降低;设置过大会导致审计目录下保存过多审计日志,影响审计查询/删除的性能、占用磁盘空间。 多审计线程场景下,审计文件占用的磁盘空间最小值是audit_thread_num与audit_rotation_size的乘积,请保证audit_space_limit的值大于audit_thread_num与audit_rotation_size的乘积。
  • audit_directory 参数说明:审计文件的存储目录。可以是相对于数据目录data的相对路径,也可以是绝对路径,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法目标路径。 默认值:“pg_audit”。如果使用om工具部署数据库,则审计日志路径为“$GAUSS LOG /pg_audit/实例名称”。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若设置的值为非法路径,或设置的路径空间已满,会导致审计功能无法正常使用;不同的DN实例需要设置不同的审计文件存储目录,否则会导致审计日志异常。
  • audit_resource_policy 参数说明:控制审计日志的保存策略,以空间还是时间限制为优先策略。 参数类型:布尔型 参数单位:无 取值范围: on:表示采用空间优先策略,最多存储audit_space_limit大小的日志。 off:表示采用时间优先策略,最少存储audit_file_remain_time长度时间的日志。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:选择空间优先策略时,不要随意调整时间策略相关的GUC参数:audit_rotation_interval、audit_file_remain_time;选择时间优先策略时,不要随意调整空间策略相关的GUC参数:audit_rotation_size、audit_space_limit、audit_file_remain_threshold。 设置不当的风险与影响:此参数需配合对应策略相关的其他GUC参数共同使用,设置不当会导致审计日志的保存策略不符合预期。
  • audit_rotation_size 参数说明:指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。 参数类型:整型 参数单位:kB 取值范围:1024 ~ 1048576。 默认值:10MB(10240kB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,不带单位取值131072,表示audit_rotation_size为131072kB;带单位取值128MB,表示audit_rotation_size为128MB。取值如果要加上单位,必须为“kB”、“MB”、“GB”。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小会导致审计目录下文件过多;设置过大会导致单个审计文件过大。请不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。审计日志文件中记录的单条日志占用空间大小超过此参数值时会被作为无效日志文件。
  • audit_enabled 参数说明:控制审计线程的开启和关闭。审计线程开启后,将从管道读取后台线程写入的审计信息,并写入审计文件。 参数类型:布尔型 参数单位:无 取值范围: on:表示启动审计功能。 off:表示关闭审计功能。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:开启审计功能会对数据库性能有一定影响,影响程度取决于记录审计的频率,若设置为on,请根据实际业务和追溯需要设置其他审计开关项;设置为off,不能通过审计日志追溯历史操作。
  • audit_rotation_interval 参数说明:指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 参数类型:整型 参数单位:min 取值范围:1 ~ 35791394(INT_MAX/60) 默认值:1d(1440min) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如:不带单位取值1440,表示audit_rotation_interval参数的值为1440min;带单位取值2d,表示audit_rotation_interval参数的值为2880min(2d)。取值如果要加上单位,必须为“min”、“h”、“d”。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小会导致审计目录下文件过多;设置过大会导致单个审计文件过大。请不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time等参数进行控制。
  • 示例 建立一个SERVER,其中file_fdw为数据库中存在的FOREIGN DATA WRAPPER。 --创建SERVER。 gaussdb=# CREATE SERVER my_server FOREIGN DATA WRAPPER file_fdw; --删除SERVER。 gaussdb=# DROP SERVER my_server; 建立另外一个同构集群的SERVER,其中log_fdw为数据库中存在的FOREIGN DATA WRAPPER。 1 2 3 4 5 6 7 8 9 10 --创建SERVER。 gaussdb=# CREATE SERVER server_remote FOREIGN DATA WRAPPER log_fdw OPTIONS (address '10.146.187.231:8000,10.180.157.130:8000' , dbname 'test', username 'test', password '********' ); --删除SERVER。 gaussdb=# DROP SERVER server_remote;
  • 参数说明 server_name server的名称。 取值范围:长度必须小于等于63字节。 fdw_name 指定外部数据封装器的名称。 取值范围:dist_fdw,log_fdw,file_fdw。其中log_fdw和file_fdw仅作语法兼容,可以创建外表,无实际使用意义,不做额外使用说明。 OPTIONS ( { option_name ' value ' } [, ...] ) 这个子句为服务器指定选项。这些选项通常定义该服务器的连接细节,但是实际的名称和值取决于该服务器的外部数据包装器。 用于指定外部服务器的各类参数。 除了libpq支持的连接参数外,还额外提供以下参数: fdw_startup_cost 执行一个外表扫描时的启动耗时估算。这个值通常包含建立连接、远端对请求的分析和生成计划的耗时。默认值为100。取值范围为大于0的实数。 fdw_typle_cost 在远端服务器上对每一个元组进行扫描时的额外消耗。这个值通常表示数据在server间传输的额外消耗。默认值为0.01。取值范围为大于0的实数。
  • GLOBAL_STAT_SYS_TABLES 显示数据库各节点pg_catalog、information_schema以及pg_toast模式下所有系统表的状态信息(不同节点数据不汇总求和),如表1所示。 表1 GLOBAL_STAT_SYS_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表的OID。 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan bigint 此表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 此表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(即没有更新索引列的行数)。 n_live_tup bigint 估计活跃行数。 n_dead_tup bigint 估计不活跃行数。在Ustore表中仅代表不活跃行指针数量。 last_vacuum timestamp with time zone 最后一次此表是手动清理的(不计算VACUUM FULL)时间。 last_autovacuum timestamp with time zone 上次被autovacuum守护线程清理的时间。 last_analyze timestamp with time zone 上次手动分析这个表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护线程分析的时间。 vacuum_count bigint 这个表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count bigint 这个表被autovacuum清理的次数。 analyze_count bigint 这个表被手动分析的次数。 autoanalyze_count bigint 这个表被autovacuum守护线程分析的次数。 父主题: Object
  • vacuum_gtt_defer_check_age 参数说明:vacuum执行后检查全局临时表relfrozenxid与普通表的差异。如果全局临时表relfrozenxid落后超过指定参数值,就会产生告警。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 1000000 默认值:10000。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议设置为默认值,不做调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_gtt_concurrent_truncate 参数说明:是否支持全局临时表truncate table和DML的并发执行,以及全局临时表truncate table和truncate table的并发执行。 参数类型:布尔型 参数单位:无 取值范围: on:表示支持上述操作并发。 off:表示不支持上述操作并发。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值,不做调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • job_queue_processes 参数说明:表示系统可以并发执行的job数目。 参数类型:整型 参数单位:无 取值范围:0 ~ 1000 当job_queue_processes设置为0时,表示不启用定时任务功能,任何job都不会被执行(因为开启定时任务的功能会对系统的性能有影响,有些局点可能不需要定时任务的功能,可以通过设置为0不启用定时任务功能)。 当job_queue_processes大于0时,表示启用定时任务功能且系统能够并发处理的最大任务数。 启用定时任务功能后,job_scheduler线程会在定时时间间隔轮询pg_job系统表,系统设置定时任务检查周期默认为1s。 由于并行运行的任务数太多会消耗更多的系统资源,因此需要设置系统并发处理的任务数,当前并发的任务数达到job_queue_processes,且同时又有任务到期时,这些任务将因为本次得不到执行而延期到下一轮询周期。因此,建议用户需要根据每个任务的执行时长合理设置任务的时间间隔(即submit接口中的interval参数),来避免由于任务执行时间太长而导致下个轮询周期无法正常执行。 默认值:10 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:如果同一时间内并行的job数很多,过小的参数值会导致job等待,而过大的参数值则消耗更多的系统资源,因此建议设置此参数为100,用户可以根据系统资源情况合理调整。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_prevent_job_task_startup 参数说明:控制是否可以启动job线程。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示不能启动job线程。 off:表示可以启动job线程。 默认值:off。在PDB场景内,若未设置该参数,则默认值为off。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • lc_time_names 参数说明:控制用于显示日期和月份名称及缩写的语言。影响DATE_FORMAT()、DAYNAME()以及MONTHNAME()函数输出结果。不影响STR_TO_DATE()和GET_FORMAT()的表现。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:参数应当为简易格式的IETF语言标记,例如en_US、zh_CN等。 默认值:"en_US"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据业务需要,切换合适的语言。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • default_week_format 参数说明:用于week()函数的默认mode值,取值范围与表现如下表所示。该参数可在PDB级别设置。 default_week_format 一周的第一天 范围 第1周定义 0 周日 0~53 今年第一个有周日的周。 1 周一 0~53 今年第一个有4天及以上天数的周。 2 周日 1~53 今年第一个有周日的周。 3 周一 1~53 今年第一个有4天及以上天数的周。 4 周日 0~53 今年第一个有4天及以上天数的周。 5 周一 0~53 今年第一个有周一的周。 6 周日 1~53 今年第一个有4天及以上天数的周。 7 周一 1~53 今年第一个有周一的周。 一年的第1周,其中的1代表序号值。根据week_format不同,如第三列所示,一年的第一个周序号可能为0。 参数类型:整型 参数单位:无 取值范围:-2147483648 ~ 2147483647 当取值小于0时,会被强制调整为0。 当取值大于7时,会被强制调整为7。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据业务需要,选择合适的mode。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • lc_time 参数说明:设置时间和区域的显示格式,影响to_char()之类的函数的输出。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:取值范围与系统相关,可通过使用命令locale -a查看。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:"C"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • lc_numeric 参数说明:设置数值的显示格式,影响to_char之类的函数的输出。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:取值范围与系统相关,可通过使用命令locale -a查看。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:"C"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • lc_messages 参数说明:设置信息显示的语言。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:取值范围与系统相关,可通过使用命令locale -a查看。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 在一些系统上,取值范围并不存在,不过仍然允许设置这个变量,只是不会有任何效果。同样,也有可能是所期望的语言的翻译信息不存在。在这种情况下,用户仍然能看到英文信息。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:"C"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • lc_monetary 参数说明:设置货币值的显示格式,影响to_char()之类的函数的输出。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:取值范围与系统相关,可通过使用命令locale -a查看。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:"C"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • client_encoding 参数说明:设置客户端的字符编码类型。该参数可在PDB级别设置。 参数类型:字符串 参数单位:无 取值范围:兼容PG所有的字符编码类型。其中UTF8表示使用数据库的字符编码类型。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置;不同操作系统之间,或者相同操作系统的不同版本之间,排序规则可能存在差异和变化。当应用业务在上述这些操作系统之间进行逻辑迁移时,操作系统排序规则的差异和变化可能会导致索引、分区、排序算子等数据库功能行为的差异,如相同的范围查询语句返回的数据结果集不同、相同的排序查询语句返回的查询结果不同等。应用业务需要根据操作系统发布的locale差异,在业务上排查业务数据是否涉及相关的字符。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 参数建议保持默认值,不建议通过gs_guc工具或其他方式直接在gaussdb.conf文件中设置client_encoding参数,即使设置也不会生效,以保证数据库内部通信编码格式一致。 client_encoding 支持设置为GB18030_2022字符编码,当client_encoding=gb18030_2022时,需要保证客户端操作系统支持的GB18030字符集已升级到2022版本。 当数据库字符集编码为UTF8,且当前系统支持的区域下相应的编码格式为GB18030时,若客户端操作系统支持的GB18030字符集已升级到2022版本,且数据库中存在客户端GB18030字符集升级前存入的历史数据,则存在以下情况: set client_encoding=gb18030时,UTF8数据库中的历史数据返回给客户端的字符编码与客户端字符集升级前保持一致,但字符集升级过程中发生映射关系改变的38个字符的字形显示与2022版本保持一致。 set client_encoding=gb18030_2022时,UTF8数据库中的历史数据返回给客户端的字符编码与客户端字符集升级后保持一致,字形与升级前保持一致。这是因为GB18030字符集自身的各版本间存在不完全兼容,可能导致数据不一致。因此,若客户端涉及GB18030字符集升级且存在历史数据的场景,在升级前应进行历史数据的升级转换。 client_encoding支持设置为ZHS16GBK字符编码,下表展示了ZHS16GBK、GB18030、GB18030_2022字符集所有转换关系对应的server_encoding与client_encoding设置方式: server_encoding client_encoding locale 设置方法 zhs16gbk utf8 utf8 数据库自动获取locale取值。 utf8 zhs16gbk gbk gsql通过用户手动执行:set client_encoding = zhs16gbk。 JDBC连接时通过url参数直接指定:characterEncoding=zhs16gbk zhs16gbk zhs16gbk gbk gsql连接时数据库自动获取locale取值,内部进行处理后自动设置client_encoding = zhs16gbk。 JDBC连接时通过url参数直接指定:characterEncoding=zhs16gbk。 zhs16gbk gb18030 gb18030 gsql连接时数据库自动获取locale取值。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030 zhs16gbk gbk gsql不支持该设置。 JDBC连接时通过url参数直接指定characterEncoding=zhs16gbk。 zhs16gbk gb18030-2022 gb18030 gsql连接时,用户手动执行:set client_encoding = gb18030_2022。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030_2022。 gb18030-2022 zhs16gbk gbk gsql不支持该设置。 JDBC连接时通过url参数直接指定characterEncoding=zhs16gbk。 gb18030 utf8 utf8 数据库自动获取locale取值。 utf8 gb18030 gb18030 数据库自动获取locale取值。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030_2022 utf8 utf8 数据库自动获取locale取值。 utf8 gb18030_2022 gb18030 gsql连接时,用户手动执行:set client_encoding = gb18030_2022。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030_2022。 gb18030 gb18030 gb18030 数据库自动获取locale取值。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030_2022 gb18030_2022 gb18030 gsql连接时数据库自动获取locale取值,内部进行处理后自动设置client_encoding = gb18030_2022。 JDBC连接时通过url参数直接指定:characterEncoding=gb18030_2022。 默认值:"UTF8"。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:请根据前端业务的情况确定。尽量客户端编码和服务器端编码一致,提高效率。建议设置为“SQL_ASCII”或“UTF8”。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • DateStyle 参数说明:设置日期和时间值的显示格式,以及有歧义的输入值的解析规则。 这个变量包含两个独立的加载部分:输出格式声明(ISO、Postgres、SQL、German)和输入输出的年/月/日顺序(DMY、MDY、YMD、Euro、European、US、NonEuro、NonEuropean、Default)。两个部分可以独立设置或者一起设置。关键字Euro和European等价于DMY;关键字US、NonEuro、NonEuropean等价于MDY。 参数类型:字符串 参数单位:无 取值范围:输出格式声明与输入输出的年/月/日顺序的排列组合(两个部分也可以单独设置)。 输出格式声明:ISO、Postgres、SQL、German。 输入输出的年/月/日顺序:DMY(Euro、European)、MDY(US、NonEuro、NonEuropean)、YMD。 默认值:"ISO, MDY" gs_initdb会将这个参数初始化成与lc_time一致的值。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:优先推荐使用ISO格式。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
共100000条