华为云用户手册

  • transaction_isolation 参数说明:设置当前事务的隔离级别。 参数类型:USERSET 取值范围: read committed:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。 read uncommitted:读未提交隔离级别, GaussDB (DWS)不支持read uncommitted,如果设置了read uncommitted,实际上使用的是read committed。 repeatable read:可重复读隔离级别,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。 serializable:事务可序列化,GaussDB(DWS)不支持SERIALIZABLE,如果设置了serializable,实际上使用的是repeatable read。 默认值:read committed
  • transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。目前,GaussDB(DWS)暂时未用到这个参数。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。 参数类型:USERSET 取值范围:布尔型 on表示允许执行。 off表示不允许执行。 默认值:off
  • retry_ecode_list 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 参数类型:USERSET 取值范围:字符串 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016 CG003 CG004 F0011 45003
  • transform_null_equals 参数说明:控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。如果expr得出NULL值则返回真,否则返回假。 正确的SQL标准兼容的expr = NULL总是返回NULL(未知)。 MS Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项,可以使用该接口来访问数据库。 参数类型:USERSET 取值范围:布尔型 on表示控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。 off表示不控制,即expr = NULL总是返回NULL(未知)。 默认值:off 新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。
  • td_compatible_truncation 参数说明:控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。 超长字符串自动截断功能不适用于insert语句包含外表的场景。 如果向字符集为字节类型编码(SQL_ASCII,LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。 参数类型:USERSET 取值范围:布尔型 on表示启动超长字符串自动截断功能。 off表示停止超长字符串自动截断功能。 默认值:off
  • backslash_quote 参数说明:控制字符串文本中的单引号是否能够用\'表示。 参数类型:USERSET 在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 取值范围:枚举类型 on表示一直允许使用\'表示。 off表示拒绝使用\'表示。 safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。 默认值:safe_encoding
  • synchronize_seqscans 参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。 参数类型:USERSET 取值范围:布尔型 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 取值范围:布尔型 on表示在新创建的表中CREATE TABLE和CREATE TABLE AS可以包含一个OID字段。 off表示在新创建的表中CREATE TABLE和CREATE TABLE AS不可以包含一个OID字段。 默认值:off
  • 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 ~ 3000,单位为秒(s)。 默认值:1800
  • ddl_select_concurrent_mode 参数说明:通过该参数控制DDL语句和SELECT语句并发的模式。该参数仅8.1.3.320及以上集群版本支持。 参数类型:SUSET 取值范围:枚举型 none:表示该参数不生效,DDL语句和SELECT语句不能并发,保持锁等待状态。 truncate:表示TRUNCATE语句被SELECT语句阻塞时,TRUNCATE会中断SELECT语句,优先执行,其它DDL语句和SELECT语句保持锁等待状态。 exchange:表示EXCHANGE语句被SELECT语句阻塞时,EXCHANGE会中断SELECT语句,优先执行,其它DDL语句和SELECT语句保持锁等待状态。 truncate,exchange:表示TRUNCATE和EXCHANGE语句被SELECT语句阻塞时,二者会中断SELECT语句,优先执行。 默认值:none 为了给SELECT语句预留响应信号的时间,当前版本中设置的ddl_lock_timeout的值不足1秒时按照1s处理。 与高级别的锁冲突(大于1级),不支持并发(比如autoanalyze_mode=normal时,同时select触发了autoanalyze)。 与事务块中的锁冲突,不支持并发。
  • max_pred_locks_per_transaction 参数说明:控制每个事务允许断定锁的最大数量,是一个平均值。 共享的断定锁表的大小是以假设任意时刻最多只有max_pred_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在服务器启动的时候设置。 增大这个参数可能导致GaussDB(DWS)请求更多的System V共享内存,有可能超过操作系统的缺省配置。 参数类型:POSTMASTER 取值范围:整型,10 ~ INT_MAX 默认值:64
  • deadlock_timeout 参数说明:设置死锁超时检测时间,以毫秒为单位。当申请的锁超过设定值时,系统会检查是否产生了死锁。 死锁的检查代价是比较高的,服务器不会在每次等待锁的时候都运行这个过程。在系统运行过程中死锁是不经常出现的,因此在检查死锁前只需等待一个相对较短的时间。增加这个值就减少了无用的死锁检查浪费的时间,但是会减慢真正的死锁错误报告的速度。在一个负载过重的服务器上,用户可能需要增大它。这个值的设置应该超过事务持续时间,这样就可以减少在锁释放之前就开始死锁检查的问题。 设置log_lock_waits时,这个选项也决定了在一个日志消息发出关于锁等待以前要等待的时间。当需要调查锁延迟时,请设置比正常deadlock_timeout更小的值。 参数类型:SUSET 取值范围:整型,1~2147483647,单位为毫秒(ms)。 默认值:1s
  • max_locks_per_transaction 参数说明:控制每个事务能够得到的平均的对象锁的数量。 共享的锁表的大小是以假设任意时刻最多只有max_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在数据库启动的时候设置。 增大这个参数可能导致GaussDB(DWS)请求更多的System V共享内存,有可能超过操作系统的缺省配置。 当运行备机时,请将此参数设置不小于主机上的值,否则,在备机上查询操作不会被允许。 参数类型:POSTMASTER 取值范围:整型,10 ~ INT_MAX 默认值:256
  • ddl_lock_timeout 参数说明:通过该参数单独指定阻塞DDL语句锁等待的时间,当申请的锁等待时间超过设定值时,系统会报错。(该参数仅8.1.3.200及以上集群版本支持) 参数类型:SUSET 取值范围:整型,0 ~ INT_MAX,单位为毫秒(ms)。 如果该参数的值等于0,表示该参数不生效。 如果该参数的值大于0,DDL锁阻塞时间为该参数的值,其它锁等待时间为lockwait_timeout参数值。 默认值:0 该参数优先级高于lockwait_timeout,只针对AccessExclusiveLock生效。
  • dynamic_library_path 参数说明:设置数据查找动态加载的共享库文件的路径。当需要打开一个可以动态装载的模块并且在CREATE FUNCTION或LOAD命令里面声明的名字没有目录部分时,系统将搜索这个目录以查找声明的文件。 用于dynamic_library_path的数值必须是一个冒号分隔(Windows下是分号分隔)的绝对路径列表。当一个路径名字以特殊变量$libdir为开头时,会替换为GaussDB(DWS)发布提供的模块安装路径。例如: 1 dynamic_library_path = '/usr/local/lib/postgresql:/opt/testgs/lib:$libdir' 参数类型:SUSET 取值范围:字符串 设置为空字符串,表示关闭自动路径搜索。 默认值:$libdir
  • DateStyle 参数说明:设置日期和时间值的显示格式,以及有歧义的输入值的解析规则。 这个变量包含两个独立的部分:输出格式声明(ISO、Postgres、SQL、German)和输入输出的年/月/日顺序(DMY、MDY、YMD)。这两个可以独立设置或者一起设置。关键字Euro和European等价于DMY;关键字US、NonEuro、NonEuropean等价于MDY 。 参数类型:USERSET 取值范围:字符串 默认值:ISO, MDY gs_initdb会将这个参数初始化成与lc_time一致的值。 设置建议:优先推荐使用ISO格式。Postgres、SQL和German均采用字母缩写的形式来表示时区,例如“EST、WST、 CS T”等。
  • IntervalStyle 参数说明:设置区间值的显示格式。 参数类型:USERSET 取值范围:枚举型 sql_standard表示产生与SQL标准规定匹配的输出。 postgres表示产生与PostgreSQL 8.4版本相匹配的输出,当DateStyle参数被设为ISO时。 postgres_verbose表示产生与PostgreSQL 8.4版本相匹配的输出,当DateStyle参数被设为non_ISO时。 iso_8601表示产生与在ISO 8601中定义的“格式与代号”相匹配的输出。 oracle表示产生于Oracle中与numtodsinterval函数相匹配的输出结果,详细请参考numtodsinterval。 IntervalStyle参数也会影响不明确的间隔输入的说明。 默认值:postgres
  • lc_messages 参数说明:设置信息显示的语言。 可接受的值是与系统相关的;在一些系统上,这个区域范畴并不存在,不过仍然允许设置这个变量,只是不会有任何效果。同样,也有可能是所期望的语言的翻译信息不存在。在这种情况下,用户仍然能看到英文信息。 参数类型:SUSET 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • default_text_search_config 参数说明:设置全文检索的配置信息。 如果设置为不存在的文本搜索配置时将会报错。如果default_text_search_config对应的文本搜索配置被删除,需要重新设置default_text_search_config,否则会报设置错误。 其被文本搜索函数使用,这些函数并没有一个明确指定的配置。 当与环境相匹配的配置文件确定时,gs_initdb会选择一个与环境相对应的设置来初始化配置文件。 参数类型:USERSET 取值范围:字符串 GaussDB(DWS)支持pg_catalog.english,pg_catalog.simple两种配置。 默认值:pg_catalog.english
  • client_encoding 参数说明:设置客户端的字符编码类型。 请根据前端业务的情况确定。尽量客户端编码和服务器端编码一致,提高效率。 参数类型:USERSET 取值范围:兼容PostgreSQL所有的字符编码类型。其中UTF8表示使用数据库的字符编码类型。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 参数建议保持默认值,不建议通过gs_guc工具或其他方式直接在postgresql.conf文件中设置client_encoding参数,即使设置也不会生效,以保证集群内部通信编码格式一致。 默认值:UTF8 推荐值:SQL_ASCII/UTF8
  • check_function_bodies 参数说明:设置是否在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。为了避免产生问题(比如避免从转储中恢复函数定义时向前引用的问题),偶尔会禁用验证。 参数类型:USERSET 取值范围:布尔型 on表示在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。 off表示在CREATE FUNCTION执行过程中不进行函数体字符串的合法性验证。 默认值:on
  • default_tablespace 参数说明:当CREATE命令没有明确声明表空间时,所创建对象(表和索引等)的缺省表空间。 值是一个表空间的名字或者一个表示使用当前数据库缺省表空间的空字符串。若指定的是一个非默认表空间,用户必须具有它的CREATE权限,否则尝试创建会失败。 临时表不使用此参数,可以用temp_tablespaces代替。 创建数据库时不使用此参数。默认情况下,一个新的数据库从模板数据库继承表空间配置。 参数类型:USERSET 取值范围:字符串,其中空表示使用默认表空间。 默认值:空
  • default_storage_nodegroup 参数说明:设置当前的默认建表所在的Node Group,目前只适用普通表。 参数类型:USERSET 取值范围:字符串 installation,表示默认建表在安装的Node Group上。 random_node_group,表示默认建表在随机选择的NodeGroup上,该配置8.1.2及以上版本支持,仅用于测试环境。 roach_group,表示默认建表在所有节点上,该值为roach工具预留,不能用于其他场景。 取值为其他字符串,表示默认建表在设置的Node Group上。 默认值:installation
  • vacuum_freeze_min_age 参数说明:指定VACUUM在扫描一个表时用于判断是否用FrozenXID替换事务ID的中断寿命(在同一个事务中)。 参数类型:USERSET 取值范围:整型,0~576 460 752 303 423 487 尽管随时可以将此参数设为0到10亿之间的任意值,但是,VACUUM将默认其有效值范围限制在autovacuum_freeze_max_age的50%以内。 默认值:5000000000
  • default_colversion 参数说明:设置当前默认创建列存表的存储格式版本。 参数类型:SIGHUP 取值范围:枚举类型 1.0表示列存表的每列以一个单独的文件进行存储,文件名以relfilenode.C1.0、relfilenode.C2.0、relfilenode.C3.0等命名。 2.0表示列存表的每列合并存储在一个文件中,文件名以relfilenode.C1.0命名。 默认值:2.0
  • temp_tablespaces 参数说明:当一个CREATE命令没有明确指定一个表空间时,temp_tablespaces指定了创建临时对象(临时表和临时表的索引)所在的表空间。在这些表空间中创建临时文件用来做大型数据的排序工作。 其值是一系列表空间名的列表。如果列表中有多个表空间时,每次临时对象的创建,GaussDB(DWS)会在列表中随机选择一个表空间;如果在事务中,连续创建的临时对象被放置在列表里连续的表空间中。如果选择的列表中的元素是一个空串,GaussDB(DWS)将自动将当前的数据库设为默认的表空间。 参数类型:USERSET 取值范围:字符串。空字符串表示所有的临时对象仅在当前数据库默认的表空间中创建,请参见default_tablespace。 默认值:空
  • session_replication_role 参数说明:控制当前会话与复制相关的触发器和规则的行为。 参数类型:USERSET 设置此参数会丢弃之前所有缓存的执行计划。 取值范围:枚举型 origin表示从当前会话中复制插入、删除、更新等操作。 replica表示从其他地方复制插入、删除、更新等操作到当前会话。 local表示函数执行复制时会检测当前登录数据库的角色并采取相应的操作。 默认值:origin
  • default_transaction_isolation 参数说明:设置默认的事务隔离级别。 参数类型:USERSET 取值范围:枚举型 read committed:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。 read uncommitted:读未提交隔离级别,GaussDB(DWS)不支持read uncommitted,如果设置了read uncommitted,实际上使用的是read committed。 repeatable read:可重复读隔离级别,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。 serializable:事务可序列化,GaussDB(DWS)不支持SERIALIZABLE,如果设置了serializable,实际上使用的是repeatable read。 默认值:read committed
  • vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果表的pg_class.relfrozenxid字段的值已经达到了参数指定的时间,VACUUM对全表进行扫描。 参数类型:USERSET 取值范围:整型,0~576 460 752 303 423 487 尽管随时可以将此参数设为零到20亿之间的值,但是,VACUUM将默认其有效值范围限制在autovacuum_freeze_max_age的95%以内。定期的手动VACUUM可以在对此表的反重叠自动清理启动之前运行。 默认值:15000000000
  • gin_pending_list_limit 参数说明:设置当GIN索引启用fastupdate时,pending list容量的最大值。当pending list的容量大于设置值时,会把pending list中数据批量移动到GIN索引数据结构中以进行清理。单个GIN索引可通过更改索引存储参数覆盖此设置值。 参数类型:USERSET 取值范围:整型,64~INT_MAX,单位为KB。 默认值:4MB
共100000条