跳转至

参数详细说明

GUC参数详细说明

配置参数会影响服务器行为的类别,例如资源消耗,查询调整和身份验证。以下主题描述了所有GUC配置参数类别以及每类参数的具体说明。

连接参数

这些参数控制客户端如何连接SeaboxMPP数据库。

superuser_reserved_connections tcp_keepalives_count
sc_vmem_idle_resource_timeout tcp_keepalives_idle
listen_addresses tcp_keepalives_interval
max_connections unix_socket_directories
max_prepared_transactions unix_socket_group
unix_socket_permissions
unix_socket_permissions
说明

设置UNIX域套接字的访问权限。UNIX域套接字使用通常的UNIX文件系统权限集。

请注意,对于UNIX域套接字,只有写权限才对。

取值范围
数字UNIX文件权限模式(由chmod或umask命令接受)
默认值
777
参数设置类型
local,system,restart
unix_socket_group
说明
设置UNIX域套接字的组名。 默认情况下,这是一个空字符串,它使用当前用户的默认组。
取值范围
UNIX组名称
默认值
空串
参数设置类型
local,system,restart
unix_socket_directories
说明
指定服务要侦听来自客户端应用程序的连接的UNIX域套接字的目录。
取值范围
目录路径
默认值
/tmp
参数设置类型
local,system,restart
tcp_keepalives_interval
说明

在重新传输之前等待keepalive响应的秒数。值为0使用系统默认值。 如果不支持TCP_KEEPINTVL,则此参数必须为0。

将此参数用于非主备实例之间的所有连接。

取值范围
秒数
默认值
0
参数设置类型
local,system,restart
tcp_keepalives_idle
说明

在空闲连接上发送Keepalive之间的秒数。值为0使用系统默认值。 如果不支持TCP_KEEPIDLE,则此参数必须为0。

将此参数用于非主备实例之间的所有连接。

取值范围
秒数
默认值
0
参数设置类型
local,system,restart
tcp_keepalives_count
说明

在连接被认为死亡之前,可能会丢失的Keepalive个数。值0使用系统默认值。 如果不支持TCP_KEEPCNT,则此参数必须为0。

将此参数用于非主备实例之间的所有连接。

取值范围
丢失的Keepalive数量
默认值
0
参数设置类型
local,system,restart
superuser_reserved_connections
说明
为SeaboxMPP数据库超级用户保留的连接数。
取值范围
整数且小于max_connections
默认值
3
参数设置类型
local,system,restart
max_prepared_transactions
说明

设置可以同时处于prepared状态的最大事务数。SeaboxMPP在内部使用事务prepared来确保各个Executor的数据完整性。

须至少设置为Coordinator实例上的max_connections的值。

Executor实例应设置与Coordinator相同的该参数值。

取值范围
整数
默认值
250
参数设置类型
local,system,restart
max_connections
说明

数据库服务的最大并发连接数。 在SeaboxMPP数据库中,通过客户端连接Coordinator实例。

Executor实例应设置相比于Coordinator实例5-10倍的值。

增加此参数时,还必须增加max_prepared_transactions

注意:增加此参数可能会导致SeaboxMPP数据库请求更多共享内存shared_buffers

取值范围
大于10的整数
默认值
Coordinator实例:250;Executor实例:750
参数设置类型
local,system,restart
sc_vmem_idle_resource_timeout
说明
数据库会话空闲的时间超过指定的时间,则会话将释放系统资源(例如共享内存),但仍保持与数据库的连接。
取值范围
任何有效的时间表达式(数量和单位)
默认值
18s
参数设置类型
coordinator,system,reload
listen_addresses
说明

指定服务将侦听来自客户端连接的TCP/IP地址, 以逗号分隔的主机名或数字IP地址列表。

特殊条目*对应于所有可用的IP接口。

如果列表为空,则只能连接UNIX域套接字。

取值范围
localhost,host names,IP addresses,*
默认值
*
参数设置类型
coordinator,system,reload

安全和身份验证参数

这些参数控制客户端与SeaboxMPP数据库服务端认证。

authentication_timeout password_lock_time
db_user_namespace password_repeat_count_limit
failed_login_attempts password_repeat_time_limit
krb_caseins_users passwordcheck.length
krb_server_keyfile passwordcheck.policy
password_encryption ssl
password_life_time ssl_ciphers
authentication_timeout
说明
完成客户端认证的最长时间,这样可以防止挂起的客户端无限期占用连接。
取值范围
任何有效的时间表达式(数字和单位)
默认值
1min
参数设置类型
local,system,restart
db_user_namespace
说明

启用每个数据库的用户名。 如果参数设置为on,用户应该以username@dbname创建用户。

要创建普通的全局用户,只需要在客户端指定用户名时附加@。

取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
failed_login_attempts
说明
允许的最大连续登录失败次数,如果连续登陆失败次数达到规定值,将自动锁定用户
取值范围
整数
默认值
0
参数设置类型
Coordinator,session,reload
record_conninfo
说明
登录信息显示控制。必须开启登陆失败控制failed_login_attempts,才能开启登录信息显示控制。
取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
sd_enable_strict_safety
说明
严格安全模式。
取值范围
Boolean
默认值
off
参数设置类型
restart
sd_enable_power_separation
说明
严格三权分立模式。
取值范围
Boolean
默认值
on
参数设置类型
restart
krb_caseins_users
说明
Kerberos用户名设置是否应区分大小写。 默认值为off,即区分大小写。
取值范围
Boolean
默认值
off
参数设置类型
coordinator,system,reload
krb_server_keyfile
说明
设置Kerberos服务密钥文件的位置。
取值范围
路径和文件名
默认值
参数设置类型
coordinator,system,reload
password_encryption
说明
如果在CREATE USER或ALTER USER中指定了密码而未写入ENCRYPTED或UNENCRYPTED,则此选项确定是否使用加密密码。
取值范围
Boolean
默认值
on
参数设置类型
coordinator,system,reload
password_life_time
说明
规定密码的有效期,当密码过期之后必须重新设置
取值范围
任何有效的时间表达式(数字和单位)
默认值
7d
参数设置类型
Coordinator,session,reload
password_lock_time
说明
设置当一个用户被锁定后多长时间能够自动解锁,0为永不自动解锁
取值范围
任何有效的时间表达式(数字和单位)
默认值
0
参数设置类型
Coordinator,session,reload
password_repeat_count_limit
说明
设置同一个密码在多少个不重复密码后能够再次使用,即同一个密码能再次使用的次数间隔
取值范围
整数
默认值
0
参数设置类型
coordinator,system,restart
password_repeat_time_limit
说明
设置同一个密码在多长时间后能够再次使用,即同一个密码能再次使用的时间间隔
取值范围
任何有效的时间表达式(数字和单位)
默认值
0
参数设置类型
coordinator,system,restart
passwordcheck.length
说明

设置密码的最小长度。

使用此参数需要预加载扩展passwordcheck:

seaboxsql.conf中设置shared_preload_libraries = 'passwordcheck'

取值范围
整数
默认值
0
参数设置类型
coordinator,system,restart
passwordcheck.policy
说明

设置密码所需包含字符种类,其中,1代表数字类型,2代表小写字母,4代表大写字母,8代表特殊字符,16代表不包含用户名。

passwordcheck.policy = 7意味着用户密码需要至少包含数字、小写字母和大写字母。

使用此参数需要预加载扩展passwordcheck:

seaboxsql.conf中设置shared_preload_libraries = 'passwordcheck'

取值范围
0 - 31
默认值
0
参数设置类型
coordinator,system,restart
ssl
说明
启用SSL连接。
取值范围
Boolean
默认值
off
参数设置类型
coordinator,system,restart
ssl_ciphers
说明
指定允许在安全连接上使用的SSL密码列表
取值范围
字符串
默认值
ALL
参数设置类型
coordinator,system,restart

系统资源消耗参数

这些参数设置SeaboxMPP数据库消耗的系统资源限制。

maintenance_work_mem
说明
指定要在维护操作中使用的最大内存量,例如VACUUMCREATE INDEX。默认为16兆字节(16MB)。该参数设置较大会提高清理和索引创建的性能。
取值范围
整数
默认值
整数
参数设置类型
local,system,restart
max_stack_depth
说明
指定服务端执行堆栈的最大安全深度。如果发现不能运行复杂的函数,可以适当提高此配置的值。
取值范围
KB
默认值
2MB
参数设置类型
local,system,restart
shared_buffers
说明

设置数据库Executor实例用于共享缓冲区的内存量。该参数设置须至少为128KB且至少为max_connections的16KB倍。

集群中每个Executor实例根据该实例的配置参数计算并分配共享内存。

shared_buffers参数的值是该共享内存计算的重要部分,还需要依赖操作系统参数SHMMAXSHMALL的值。

操作系统参数SHMMAX指定共享内存分配的最大值。 SHMMAX的值必须大于此值:

 shared_buffers + other_executor_shmem

使用默认数据库参数值, 每个Executor实例的other_executor_shmem的值大约为120MB,而单个Coordinator实例,大约为80MB。

操作系统参数SHMALL指定节点上的全部允许使用的共享内存大小。 SHMALL的值必须大于此值:

 (num_instances_per_host * ( shared_buffers + other_executor_shmem )) + other_app_shared_mem 

other_app_shared_mem的值是该节点上其他应用程序和进程使用的共享内存量。

发生共享内存分配错误时,解决共享内存分配问题的可能方法是增加SHMMAXSHMALL,或减少shared_buffersmax_connections

取值范围
整数 > 16K * max_connections
默认值
125MB
参数设置类型
local,system,restart
temp_buffers
说明

以块为单位,该参数设置允许每个会话使用临时缓冲区的最大内存使用量,仅用于访问临时表的会话本地缓冲区设置。

可以在单个会话中更改参数,但只能在会话中首次使用临时表之前更改。

取值范围
整数
默认值
1024 (32MB)
参数设置类型
coordinator,session,reload

OS资源参数

max_files_per_process
shared_preload_libraries
max_files_per_process
说明
该参数设置允许每个服务子进程的最大同时打开文件数。如果操作系统内核已设置每个进程的安全限制,则不需要设置该参数。
取值范围
整数
默认值
1000
参数设置类型
local,system,restart
shared_preload_libraries
说明

以逗号分隔的共享库列表,这些共享库将在服务启动时预加载。

通常使用语法'$libdir/plXXX', 其中XXX是pgsql,perl,tcl或python。

通过预加载共享库,首次使用库时可以避免库启动时间。如果找不到指定的库,则服务无法启动。

取值范围
默认值
参数设置类型
local,system,restart

基于成本的清理延迟参数

可以通过配置VACUUMANALYZE命令的执行成本,以减少I/O对并发数据库活动的影响。 当I/O操作的累计成本达到限制时,执行操作的进程会暂停一段时间,然后重置计数器并继续执行

vacuum_cost_delay vacuum_cost_page_hit
vacuum_cost_limit vacuum_cost_page_miss
vacuum_cost_page_dirty
vacuum_cost_delay
说明
超出成本限制时vacuum进程将休眠的时间长度。值为0禁用基于成本的vacuum延迟功能。
取值范围
毫秒 < 0 (以10的倍数表示)
默认值
0
参数设置类型
local,system,restart
vacuum_cost_limit
说明
导致vacuum进程进入睡眠状态的累积成本。
取值范围
整数 > 0
默认值
200
参数设置类型
local,system,restart
vacuum_cost_page_dirty
说明
vacuum修改先前干净的块时收取的估计成本。表示将脏块再次刷新到磁盘所需的额外I/O.
取值范围
整数 > 0
默认值
20
参数设置类型
local,system,restart
vacuum_cost_page_hit
说明
vacuum共享缓冲区缓存中找到的缓冲的估计成本。表示锁定缓冲池,查找共享哈希表和扫描页面内容的成本。
取值范围
整数 > 0
默认值
1
参数设置类型
local,system,restart
vacuum_cost_page_miss
说明
vacuum必须从磁盘读取的缓冲的估计成本。表示锁定缓冲池,查找共享哈希表,从磁盘读取所需块并扫描其内容的代价。
取值范围
整数 > 0
默认值
10
参数设置类型
local,system,restart

调优参数—优化器算子控制参数

以下参数控制查询优化器可以使用的计划操作类型。 启用或禁用计划操作以强制优化器选择其他计划。

对于使用不同计划类型测试和比较查询性能非常有用。

enable_bitmapscan sc_enable_agg_distinct_pruning
enable_groupagg sc_enable_direct_dispatch
enable_hashagg sc_enable_fast_sri
enable_hashjoin sc_enable_multiphase_agg
enable_indexscan sc_enable_predicate_propagation
enable_mergejoin sc_enable_preunique
enable_nestloop sc_enable_relsize_collection
enable_seqscan sc_enable_sort_distinct
enable_sort sc_dynamic_partition_pruning
enable_tidscan sc_recursive_cte
sc_enable_sort_limit sc_enable_agg_distinct
enable_bitmapscan
说明

启用或禁用查询优化器使用位图扫描计划类型。请注意,这与位图索引扫描不同。

位图扫描意味着索引将在适当的时候在内存中动态转换为位图,从而在针对非常大的表的复杂查询上提供更快的索引性能。

当不同的索引列上有多个谓词时使用它。可以比较每列的每个位图以创建所选元组的最终列表。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_groupagg
说明
启用或禁用查询优化器使用组聚合计划类型。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_hashagg
说明
启用或禁用查询优化器使用哈希聚合计划类型。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_hashjoin
说明
启用或禁用查询优化器使用哈希join计划类型。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_indexscan
说明
启用或禁用查询优化器使用索引扫描计划类型。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_mergejoin
说明

启用或禁用查询优化器使用mergejoin计划类型。merge-join基于将左侧和右侧表按顺序排序然后并行扫描的执行。

因此,两种数据类型必须能够完全排序,并且连接运算符必须是只能成功处于排序顺序中“相同位置”的值对的连接运算符。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_nestloop
说明

启用或禁用查询优化器使用嵌套循环连接计划。

不可能完全抑制嵌套循环连接,但如果有其他可用方法,则关闭此变量会阻止优化器使用它。

取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload
enable_seqscan
说明
启用或禁用查询优化器使用顺序扫描计划类型。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_sort
说明
启用或禁用查询优化器使用显式排序步骤。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
enable_tidscan
说明
启用或禁用查询优化器使用元组标识符(TID)扫描计划类型
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_dynamic_partition_pruning
说明
启用可以动态消除分区扫描的计划。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_agg_distinct
说明
启用或禁用两阶段聚合以计算单个不同限定的聚合。仅适用于包含单个不同限定聚合函数的子查询。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_agg_distinct_pruning
说明
启用或禁用三阶段聚合和连接以计算不同限定的聚合。仅适用于包含一个或多个不同限定聚合函数的子查询。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_direct_dispatch
说明

启用或禁用为访问单个executor实例上的数据的查询调度目标查询计划。

启用时,单个executor实例上目标行的查询将仅将其查询计划分派到该executor实例。

这明显缩短了限定查询的响应时间,因为没有涉及互连设置。直接分发确实需要主服务器上更多的CPU利用率。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,system,restart
sc_enable_fast_sri
说明

当设置为on时,查询优化器(planner)计划单行插入,以便将它们直接发送到正确的executor实例(无需motion操作)。

设置该参数可显著提高单行插入语句的性能。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_multiphase_agg
说明

启用或禁用使用两阶段或三阶段并行聚合计划。此方法适用于具有聚合的任何子查询。

如果sc_enable_multiphase_agg关闭,则禁用sc_enable_agg_distinctsc_enable_agg_distinct_pruning

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_predicate_propagation
说明

启用后,查询优化器会在表的分布键列上连接的情况下将查询谓词应用于两个表表达式。

在进行连接之前过滤两个表(如果可能)更有效。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_preunique
说明

SELECT DISTINCT查询启用两阶段重复删除(不是SELECT COUNT(DISTINCT))。

启用后,它会在移动之前添加一组额外的SORT DISTINCT计划节点。

在不同操作大大减少行数的情况下,这个额外的SORT DISTINCT比通过互连发送行的成本代价低得多。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_sort_distinct
说明
在排序时启用删除重复项。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_enable_sort_limit
说明
在排序时启用LIMIT操作。当计划最多需要第一行limit_number时,排序更有效。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_recursive_cte
说明

控制SELECT [INTO]命令的WITH子句或DELETEINSERTUPDATE命令中RECURSIVE关键字的可用性。

参数允许WITH子句中的子查询引用自身。默认值为on,语句中的WITH子句中允许使用RECURSIVE关键字。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,restart
sc_enable_opt_prelimit_costs
说明
启用后,查询优化器会在计算分段LIMIT计划节点代价上,不添加子节点10%的运行代价。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_external_table_default_size
说明
用于设置 external table 的大小。这个参数的值表示BLOCK个数乘以BLOCK_SIZE。
取值范围
32768 - INT_MAX
默认值
819200
参数设置类型
Coordinator,session,reload
sc_select_auto_limit_num
说明
启用时,对查询语句自动添加limit,为-1时表示禁用该功能,为正数时为limit值。
取值范围
-1 - INT_MAX
默认值
-1
参数设置类型
Coordinator,session,reload

调优参数—优化器成本计算参数

注意: 尽量不调整以下查询成本计算参数。

所有这些参数都是相关的,更改一个而不更改其他一个可能会对性能产生负面影响。

cpu_index_tuple_cost sc_motion_cost_per_row
cpu_operator_cost sc_executors_for_planner
cpu_tuple_cost random_page_cost
cursor_tuple_fraction seq_page_cost
effective_cache_size
cpu_index_tuple_cost
说明
查询优化器在索引扫描期间设置对处理每个索引行代价的估计。
取值范围
浮点数
默认值
0.005
参数设置类型
Coordinator,session,reload
cpu_operator_cost
说明
设置查询优化器对处理WHERE语句中每个操作符代价的估计
取值范围
浮点数
默认值
0.0025
参数设置类型
Coordinator,session,reload
cpu_tuple_cost
说明
设置对查询优化器处理一个查询中每行(元组)代价的估计
取值范围
浮点数
默认值
0.01
参数设置类型
Coordinator,session,reload
cursor_tuple_fraction
说明
告知查询优化器预期在游标查询中提取多少行,从而允许优化器使用此信息来优化查询计划。默认值为1表示获取所有行。
取值范围
整数
默认值
1
参数设置类型
Coordinator,session,reload
effective_cache_size
说明

设置查询优化器的单个查询可用的磁盘高速缓存的有效大小。用于估算使用指数的成本的因素; 设置较高的值使得更有可能使用索引扫描,较低的值使得更有可能使用顺序扫描。

此参数对seaboxsql实例分配的共享内存大小没有影响,也不保留内核磁盘缓存;仅用于估算目的。

此参数设置为大小为32K的块数量(例如,对于16MB,为512)。

取值范围
浮点数
默认值
512 (16MB)
参数设置类型
Coordinator,session,reload
sc_motion_cost_per_row
说明

设置优化器对Motion算子的成本估算,即将数据从一个Executor实例传输到另一个Executor实例,以连续页面提取的成本的小数部分来衡量。

如果值为0,则使用的值是cpu_tuple_cost值的两倍。

取值范围
浮点数
默认值
0
参数设置类型
Coordinator,session,reload
sc_executors_for_planner
说明

设置查询优化器在其成本和大小估计中假设的主实例数。如果为0,则使用的值是主实例的实际数量。

此变量影响优化器对Motion运算符中每个发送和接收过程处理的行数的估计。

取值范围
0-n
默认值
0
参数设置类型
Coordinator,session,reload
random_page_cost
说明

设置查询优化器的非顺序读取磁盘页面的成本估计。值为连续页面提取的成本的倍数。

较高的值使得更有可能使用顺序扫描,较低的值使得更有可能使用索引扫描。

取值范围
浮点数
默认值
100
参数设置类型
Coordinator,session,reload
seq_page_cost
说明
对于查询优化器,设置从一系列连续的磁盘页中提取一部分的成本估计。
取值范围
浮点数
默认值
1
参数设置类型
Coordinator,session,reload

调优参数—数据库统计采样参数

这些参数调整ANALYZE操作采样的数据量。调整这些参数会影响系统范围内的统计信息收集。 可以使用ALTER TABLE SET STATISTICS子句在特定表和列上配置统计信息收集。

default_statistics_target
default_statistics_target
说明

通过ALTER TABLE SET STATISTICS设置未具有列特定目标集的表列的默认统计信息采样目标(存储在公共值列表中的值的数量)。

较大的值会提升查询优化器估计的质量。

取值范围
0 < 整数 < 10000
默认值
100
参数设置类型
Coordinator,session,reload

调优参数—排序运算符配置参数

sc_enable_sort_distinct
sc_enable_sort_limit

调优参数—聚合运算符配置参数

sc_enable_agg_distinct sc_workfile_compression
sc_enable_agg_distinct_pruning sc_enable_preunique
sc_enable_multiphase_agg
sc_workfile_compression
说明

指定在哈希聚合或哈希连接操作溢出到磁盘时创建的临时文件是否压缩。

如果数据库部署服务器是SATA磁盘,启用压缩可能有助于避免IO操作过载。

取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload

调优参数—连接运算符配置参数

join_collapse_limit sc_workfile_compression
sc_adjust_selectivity_for_outerjoins sc_hashjoin_tuples_per_bucket
join_collapse_limit
说明

查询优化器会在总项不超过配置就显式将内部JOIN结构重写为FROM项列表。

默认情况下,此变量的设置与from_collapse_limit相同,适用于大多数用途。

将其设置为1可防止对内部JOIN进行任何重新排序。

将此变量设置为介于1和from_collapse_limit之间的值可能有助于将计划时间与所选计划的质量进行权衡(更高的值会产生更好的计划)。

取值范围
1-n
默认值
20
参数设置类型
Coordinator,session,reload
sc_adjust_selectivity_for_outerjoins
说明
在外连接上启用NULL测试的选择性。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_hashjoin_tuples_per_bucket
说明
设置HashJoin操作使用的哈希表的目标密度。较小的值往往会产生较大的哈希表,可以提高连接性能。
取值范围
整数
默认值
5
参数设置类型
Coordinator,session,reload

调优参数—优化器其他配置参数

from_collapse_limit
sc_enable_predicate_propagation
sc_max_plan_size
from_collapse_limit
说明

查询优化器将子查询合并到上层查询中,如果生成的FROM列表只有这么多项。

较小的值会减少计划时间,但可能会产生较差的查询计划。

取值范围
1-n
默认值
20
参数设置类型
Coordinator,session,reload
sc_max_plan_size
说明

指定查询执行计划的最大未压缩总大小乘以计划中的Motion运算符(切片)数。如果查询计划的大小超过该值,则取消查询并返回错误。

值为0表示不监视计划的大小。

可以指定以kBMBGB为单位的值。 默认单位是kB。例如,值200是200kB。

1GB1024MB1048576kB相同。

取值范围
整数
默认值
0
参数设置类型
Coordinator,superuser,session

调优参数—查询计划执行

控制查询计划的执行。

sc_max_slices
sc_max_slices
说明

指定可以由查询生成的最大切片数(在Executor实例上执行的查询计划的部分)。

如果查询生成的切片数超过指定数量,则SeaboxMPP数据库将返回错误并且不执行查询。

默认值为0,没有最大值。

执行生成大量切片的查询可能会影响数据库性能。例如,在多个复杂视图上包含UNIONUNION ALL运算符的查询可以生成大量切片。可以在查询上运行EXPLAIN ANALYZE以查看查询的切片统计信息。

取值范围
0 - INT_MAX
默认值
0
参数设置类型
Coordinator,session,reload

日志记录位置和文件属性参数

log_destination logging_collector
log_directory log_filename
log_file_mode
log_destination
说明
支持多种记录服务器消息的方法,包括stderrcsvlogsyslog

取值范围: stderrcsvlogsyslog

默认值: stderr

参数设置类型: local,system,restart

logging_collector

说明: 启用日志收集器,一个后台进程捕捉被发送到stderr的日志消息并将这些消息重定向到日志文件中。

取值范围: bool

默认值: off

参数设置类型: local,system,restart 。

log_directory

说明: 当logging_collector被启用时,决定日志文件将被创建在哪个目录下。可以指定为一个绝对路径或相对于集簇数据目录的相对路径。

取值范围:

默认值: log

参数设置类型: local,system,restart 。

log_filename

说明: 当logging_collector被启用时,设置创建的日志文件的文件名。值被视为strftime模式,因此%转义可以用来指定根据时间变化的文件名。

取值范围:

默认值: seaboxsql-%Y-%m-%d_%H%M%S.log

参数设置类型: local,system,restart。

log_file_mode

说明: 在Unix系统上,当logging_collector被启用时,设置日志文件的权限。值应当是chmodumask系统调用接受的数字形式模式。

取值范围: 值应当是chmodumask系统调用接受的数字形式模式。

默认值: 0600

参数设置类型: local,system,restart。

日志归档参数

sdlog_archive sdlog_archive_conninfo
sdlog_archive_target_tables sdlog_archive_slow_min_duration
sdlog_archive_base_dbid
sdlog_archive

说明: 如果设置为on,集群的每个coordinator启动一个sdlog_archive的python脚本,监控并加载日志到远端审计库中

取值范围: boolean

默认值: off

参数设置类型: reload

sdlog_archive_conninfo

说明: 设置连接到审计库的连接信息,以空格分隔的字符串格式host=192.168.0.7:16666 init_user=seabox dbname=seaboxsql

取值范围: text

默认值: 'init_user=seabox'

参数设置类型: reload

sdlog_archive_base_dbid

说明: 区分每个不同的数据库的不同coordinator,例如数据库A设置当前值为1,则数据库A中的coordinator0的计算公式为sdlog_archive_base_dbid * 10000 + dbid,计算下来则为10001,此值会记录在日志中作为一列存在

取值范围: int

默认值: 0

参数设置类型: Coordinator,session,reload

sdlog_archive_target_tables

说明: 设置自行运行的SQL函数文件,这些文件保存在share/seaboxsql/sdlog_archive_config/default目录中,以xxxx.sql的形式存在,并根据用户具体的现场情况,选配以上参数,同时提供share/seaboxsql/sdlog_archive_config/custome目录,此目录下可自定义的新的功能,目录中提供了增加sdlog_test的例子: sdlog_test_init.sql用于定义表,函数等需要初始化化的内容,sdlog_test.sql则会在每个日志文件增加时需要执行的操作。修改配置sdlog_archive_target_tables参数增加sdlog_test,则就可以启动sdlog_test相关文件的执行。

取值范围: text

默认值: 'sdlog,sdlog_error,sdlog_slow,sdlog_session'

参数设置类型: Coordinator,session,reload

sdlog_archive_slow_min_duration

说明: 设置长SQL的阈值。

取值范围: int

默认值: 1s

参数设置类型: Coordinator,session,reload

日志轮换参数

这些配置参数控制SeaboxMPP数据库日志轮换行为。

log_rotation_age log_truncate_on_rotation
log_rotation_size
log_rotation_age
说明

确定数据库将消息写入当前日志文件的周期时间。经过该参数设置时间后,文件将关闭并创建一个新的日志文件。

设置为零以禁用基于时间的新日志文件创建。

取值范围
任何有效的时间表达式(数量和单位)
默认值
1d
参数设置类型
local,system,restart
log_rotation_size
说明

确定触发轮转的单个日志文件的大小。当日志文件大小等于此大小时,将关闭该文件并创建新的日志文件。

设置为零以禁用基于大小的新日志文件的创建。

单位是KB,最大值为INT_MAX/1024。如果指定了无效值,则使用默认值。INT_MAX是可以作为整数存储在系统中的最大值。

取值范围
0 - INT_MAX/1024
默认值
1048576
参数设置类型
local,system,restart
log_truncate_on_rotation
说明

截断(覆盖)而不是附加到任何现有的同名日志文件。仅当由于基于时间的轮转而打开新文件时才会发生截断。 例如,将此设置与log_filename(例如scseg#-%H.log)结合使用将导致生成二十四小时的日志文件,然后循环覆盖它们。

禁用时,将在所有情况下追加预先存在的文件。

取值范围
Boolean
默认值
off
参数设置类型
local,system,restart

日志记录时间相关参数

这些配置参数控制SeaboxMPP数据库日志时间行为。

client_min_messages log_min_error_statement
sc_interconnect_debug_retry_interval log_min_messages
log_error_verbosity optimizer_minidump
log_min_duration_statement
client_min_messages
说明
控制哪些消息级别发送到客户端。每个级别包括跟它随后的所有级别,越往后的级别,发送的消息就越少。
取值范围
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,LOG,NOTICE,WARNING,ERROR,FATAL,PANIC
默认值
NOTICE
参数设置类型
Coordinator,session,reload
sc_interconnect_debug_retry_interval
说明

指定在服务器配置参数sc_log_interconnect设置为DEBUG时记录数据库interconnect调试消息的时间间隔(以秒为单位)。默认值为10秒。

日志消息包含有关集群Executor实例进程之间的interconnect通信的信息。调试或分析Executor实例之间的网络问题时,这些日志信息会有所帮助。

取值范围
1 =< 整数 < 4096
默认值
10
参数设置类型
Coordinator,session,reload
log_error_verbosity
说明
控制记录的每条消息在服务器日志中写入的详细信息量。
取值范围
TERSE,DEFAULT,VERBOSE
默认值
DEFAULT
参数设置类型
Coordinator,session,reload,superuser
log_min_duration_statement
说明

如果SQL语句的持续时间大于或等于该参数指定的毫秒数,则将语句及其持续时间记录在单个日志行上。将此值设置为0将打印所有语句及其持续时间。 -1禁用该功能。

例如,如果将其设置为250,则将记录运行250毫秒或更长时间的所有SQL语句。启用此选项可用于跟踪应用程序中未优化的查询。

取值范围
毫秒数, 0, -1
默认值
-1
参数设置类型
Coordinator,session,reload,superuser
log_min_error_statement
说明

控制是否在服务器日志中记录导致错误情况的SQL语句。将记录导致指定级别或更高级别的错误的所有SQL语句。 默认为PANIC(有效关闭此功能以供正常使用)。

启用此选项有助于跟踪服务器日志中出现的任何错误的来源。

取值范围
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERROR,FATAL,PANIC
默认值
ERROR
参数设置类型
Coordinator,session,reload,superuser
log_min_messages
说明
控制将哪些消息级别写入服务器日志。每个级别包括其后的所有级别。级别越靠后,发送到日志的消息越少。
取值范围
DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERROR,FATAL,PANIC
默认值
WARNING
参数设置类型
Coordinator,session,reload,superuser
optimizer_minidump
说明

ORCA优化器生成minidump文件以描述给定查询的优化信息。文件中的信息格式易于调试或故障排除。minidump文件位于主数据目录下,并使用以下命名格式:Minidump_date_time.mdp

minidump文件包含此查询相关信息:

  • catalog对象,包括ORCA优化器所需的数据类型,表,运算符和统计信息

  • 查询的内部表示(DXL)

  • ORCA优化器制定的计划的内部代表(DXL)

  • 传递给ORCA优化器的系统配置信息,例如服务器配置参数,成本和统计信息配置以及Executor数

  • 优化查询时生成的堆栈错误跟踪

将此参数设置为ALWAYS会为所有查询生成minidump;设置为ONERROR以最小化总优化时间。

取值范围
ONERROR,ALWAYS
默认值
ONERROR
参数设置类型
Coordinator,session,reload

日志记录内容相关参数

这些配置参数控制SeaboxMPP数据库日志内容记录相关行为。

debug_pretty_print log_executor_stats
debug_print_parse log_hostname
debug_print_plan sc_log_interconnect
debug_print_prelim_plan log_parser_stats
debug_print_rewritten log_planner_stats
debug_print_slice_table log_statement
log_autostats log_statement_stats
log_connections log_timezone
log_disconnections sc_debug_linger
log_duration log_temp_files
sc_log_gang sc_log_interconnect
object_log object_internal_object
object_log_catalog object_log_parameter
object_role sdlog_classes
object_log_relation object_log_substatement
object_max_substatements object_statement_size
sdaudit_log sdaudit_log_relation
sdaudit_log_catalog sdaudit_log_parameter
sdaudit_role sdaudit_log_substatement
debug_pretty_print
说明
是否启用缩进调试输出,以产生更可读但是更长的输出格式。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
debug_print_parse
说明
对于每一个执行的查询,打印出结果分析树。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload
debug_print_plan
说明
对于每个执行的查询,打印出并行查询执行计划。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
debug_print_prelim_plan
说明
对于每个执行的查询,打印出初步查询计划。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
debug_print_rewritten
说明
对于每个执行的查询,打印出查询重写输出。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
debug_print_slice_table
说明
对于每个执行的查询,打印查询分片计划。要求参数client_min_messages或者log_min_messages必须是DEBUG1或者更低。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
log_autostats
说明
记录有关与sc_autostats_modesc_autostats_on_change_threshold相关的自动ANALYZE操作的信息。日志信息包括当前sc_autostats_mode值、SQL命令类型、数据库、表以及本次修改的行数。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload,superuser
log_connections
说明

是否启用连接成功即在日志中输出一行。

某些客户端程序(如ssql)在确定是否需要密码时尝试连接两次,因此重复的“已接收连接”消息并不总是表示存在问题。

取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
log_disconnections
说明
客户端会话终止时在服务日志中输出一行,并包括会话的持续时间。
取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
log_duration
说明
是否启用记录满足log_statement的每个已完成语句的持续时间。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload,superuser
log_executor_stats
说明

对于每个查询,将查询执行程序的性能统计信息写入服务器日志。

该参数无法与log_statement_stats一起启用。

取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
log_hostname
说明

默认情况下,连接日志消息仅显示连接主机的IP地址。打开此参数会记录服务器的IP地址和主机名。

注意,根据DNS设置,这可能会造成不可忽视的性能损失。

取值范围
Boolean
默认值
off
参数设置类型
coordinator,system,restart
log_parser_stats
说明
对于每个查询,将查询解析器的性能统计信息写入服务器日志. 该参数无法与log_statement_stats一起启用。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload,superuser
log_planner_stats
说明
对于每个查询,将查询优化器的性能统计信息写入服务器日志。该参数无法与log_statement_stats一起启用。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload,superuser
log_statement
说明

控制记录哪些SQL语句。DDL记录所有数据定义命令,如CREATE,ALTER和DROP命令。

MOD记录所有DDL语句,以及INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM。如果包含的命令属于适当的类型,也会记录PREPARE和EXPLAIN ANALYZE语句。

取值范围
NONE,DDL,MOD,ALL
默认值
NONE
参数设置类型
Coordinator,session,reload,superuser
log_statement_stats
说明
对于每个查询,将查询解析器,优化器和执行器的总体性能统计信息写入服务器日志。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload,superuser
log_timezone
说明

设置用于写入日志的时间戳的时区。 与TimeZone不同,此值是系统范围的,因此所有会话都将一致地报告时间戳。

默认值是unknown,即使用系统环境指定的时区。

取值范围
字符串
默认值
unknown
参数设置类型
local,system,restart
sc_debug_linger
说明
在致命的内部错误之后,seaboxsql进程保留的秒数。
取值范围
任何有效的时间表达式(数字和单位)
默认值
0
参数设置类型
Coordinator,session,reload
sc_log_gang
说明
控制是否将有关查询工作进程创建和查询管理的信息写入日志文件的级别。默认值为off,不记录信息。
取值范围
off,terse,verbose,debug
默认值
off
参数设置类型
Coordinator,session,restart
sc_log_interconnect
说明

控制是否将有关Executor实例工作进程之间通信的信息写入日志文件的级别。默认值为terse

日志信息将写入Coordinator实例日志和Executor实例日志。

取值范围
off,terse,verbose,debug
默认值
terse
参数设置类型
Coordinator,session,reload
log_temp_files
说明

控制临时文件名和大小的记录。可以为排序,哈希,临时查询结果和溢出文件创建临时文件。

删除时,每个临时文件都会在sd_log中创建一个日志条目。

根据临时文件的来源,可以在coordinator和/或executor上创建日志条目。

该参数值为零会记录所有临时文件信息,而正值仅记录大小大于或等于指定KB数的文件。

默认设置为-1,禁用日志记录。

只有超级用户才能更改此设置。

取值范围
整数
默认值
-1
参数设置类型
local,system,restart
debug_assertions
说明
打开各种断言检查。
取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
query_string_truncate_size
说明
通过此参数控制分发至executor的query_string长度,单位为KB。
取值范围
integer
默认值
1
参数设置类型
Coordinator,session,reload
sdlog_classes

说明: 设置csv日志中记录指定分类内容,可以设置如下配置项,多项设置用;分隔: ALL(记录所有类别) NONE(不记录) OBJECTS(记录对象审计,每条SQL结束后记录) RESOURCE(记录资源消耗,仅当配需sd_stat_activity_enable=ON) SYSINFO(记录系统状态,当日志的level>warning时才会打印)

同时可以设置补集合,例如-OBJECT则表示排除对象审计其他类型都记录此参数也可以

取值范围: text

默认值: ALL

参数设置类型: Coordinator,session,reload

sdlog_sysinfo_min_messages

说明: 设置打印系统状态信息的日志级别,级别和log_min_messages设置参数相同,如果大于等于设置值则打印系统状态信息

取值范围: text

默认值: warning

参数设置类型: Coordinator,session,reload

object_log

说明: 设置普通日志记录指定操作集合,多项设置用;分隔:

READ(读取操作,如 SELECT 和 COPY) WRITE(写入操作,如 INSERT、UPDATE、DELETE 等) FUNCTION(函数调用和 DO 块 ROLE(与角色和权限相关的语句,如 GRANT、REVOKE 等 DDL(不包括在 ROLE 类别中的所有 DDL) MISC(杂项命令,如 DISCARD、FETCH 等) MISC_SET(杂项 SET 命令,如 SET ROLE) ALL(以上所有类别) 同时可以设置补集合,例如-FUCNTION则表示不记录执行函数操作,其他所有操作都记录

取值范围: text

默认值: read,write,ddl

参数设置类型: Coordinator,session,reload

object_internal_object

说明: 设置对象审计是否记录系统内置对象,一旦设置为on之后,除了记录常用的记录关系(表、视图、索引、序列等)、数据库、模式(schema)、表空间、角色等,还会记录系统内部对象 例如 类型,表列上的约束等

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

object_log_catalog

说明: 设置是否记录对系统目录的访问,

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

object_log_parameter

说明: 设置记录SQL参数

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

object_log_relation

说明: 是否记录SELECT 或 DML 语句中引用的每个关系(如表、视图等。

取值范围: boolean

默认值: on

参数设置类型: Coordinator,session,reload

object_log_substatement

说明: 开启时,记录子语句和子语句序号,并以子语句为分类记录对象。关闭时,只记录对象和其操作。

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

object_max_substatements

说明: 当object_log_substatement=on时, 记录最大子语句数,一条SQL涉及的子语句大于此值时,大于的子语句和涉及的对象将不记录

取值范围: 1~1024

默认值: 100

参数设置类型: Coordinator,session,reload

object_substatement_size

说明: 记录子语句时,子语句最长字节限制,如果超过此值,则会按照字符集截断到此参数配置。

取值范围: 100~102400

默认值: 1024

参数设置类型: Coordinator,session,reload

object_role

说明: 授权角色,当设置此角色时,数据库对象进行SELECT或DML操作时,只有授权角色有相应权限的对象才会被记录

取值范围: text

默认值: ""

参数设置类型: Coordinator,session,reload

sdaudit_log

说明: 设置审计记录指定操作集合,多项设置用;分隔:

none (不设置操作) READ(读取操作,如 SELECT 和 COPY) WRITE(写入操作,如 INSERT、UPDATE、DELETE 等) FUNCTION(函数调用和 DO 块 ROLE(与角色和权限相关的语句,如 GRANT、REVOKE 等 DDL(不包括在 ROLE 类别中的所有 DDL) MISC(杂项命令,如 DISCARD、FETCH 等) MISC_SET(杂项 SET 命令,如 SET ROLE) ALL(以上所有类别) 同时可以设置补集合,例如-FUCNTION则表示不记录执行函数操作,其他所有操作都记录

取值范围: text

默认值: none

参数设置类型: Coordinator,session,reload

sdaudit_log_catalog

说明: 设置是否记录对系统目录的访问,

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

sdaudit_log_parameter

说明: 设置记录SQL参数

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

sdaudit_log_relation

说明: 是否记录SELECT 或 DML 语句中引用的每个关系(如表、视图等。

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

sdaudit_log_substatement

说明: 开启时,记录子语句和子语句序号,并以子语句为分类记录对象。关闭时,只记录对象和其操作。

取值范围: boolean

默认值: off

参数设置类型: Coordinator,session,reload

sdaudit_role

说明: 审计授权角色,当设置此角色时,数据库对象进行SELECT或DML操作时,只有授权角色有相应权限的对象才会被记录.

取值范围: text

默认值: ""

参数设置类型: Coordinator,session,reload

系统监控参数—查询指标收集参数

以下参数启用和配置查询指标收集。 启用后,数据库会在查询执行期间将指标保存到共享内存。这些指标由监控程序使用。

track_queryplan_status sc_instrument_shmem_size
track_queryplan_status
说明

启用查询指标的收集。 启用查询指标收集后,数据库会在查询执行期间收集指标。 默认为关闭。

更改此配置参数后,必须重新启动数据库才能使更改生效。

取值范围
Boolean
默认值
off
参数设置类型
Coordinator,system
sc_instrument_shmem_size
说明

为查询指标分配的共享内存量(以KB为单位)。默认值为5120,最大值为131072。

启动时,如果track_queryplan_status设置为on,则数据库会在共享内存中分配空间以保存查询指标,该内存块被组织为标题和接口列表。 所需的接口数取决于并发查询的数量和每个查询的执行计划节点的数量。

默认值5120,基于数据库系统最多执行约250个并发查询,每个查询120个节点。

如果track_queryplan_status配置参数关闭,或者接口耗尽,则指标将保留在本地内存中而不是共享内存中。

取值范围
整数,0 - 131072
默认值
5120
参数设置类型
Coordinator,system,restart

系统监控参数—运行时统计信息收集参数

这些参数控制服务端统计信息收集功能。 启用统计信息收集后,可以使用pg_stat系列目录视图访问统计信息数据。

track_activity_query_size update_process_title
track_queryplan track_queryplan_size
track_activity_query_size
说明
设置存储在系统catalog视图pg_stat_activityquery列中的查询文本的最大长度限制。
取值范围
整数,字节
默认值
1024
参数设置类型
local,system,restart
update_process_title
说明
每次服务器收到新的SQL命令时,都可以更新进程标题。可通过ps命令查看进程标题。
取值范围
Boolean
默认值
on
参数设置类型
local,system,restart
track_queryplan
说明
设置视图pg_stat_activity_detail以及审计日志中的plan列是否记录执行计划。 开启此功能,对性能有一定影响,增加的时间近似于查询explain的时间(通常为几毫秒级到几十毫秒)。
取值范围
Boolean
默认值
off
参数设置类型
local,session,reload
track_queryplan_size
说明
设置存储在系统catalog视图pg_stat_activity_detail以及审计日志的plan列中的查询文本的最大长度限制。
取值范围
整数,字节
默认值
1MB
参数设置类型
local,system,reload

系统监控参数—自动统计收集参数

启用自动统计信息收集时,可以在与某个阈值的行数被更新(on_change)或新生成没有统计信息的表时,在与INSERTUPDATEDELETECOPYCREATE TABLE ... AS SELECT语句相同的事务中自动运行ANALYZE

要启用此功能,须在集群Coordinator实例的seaboxsql.conf文件中设置以下配置参数,然后重新启动数据库:

sc_autostats_mode
sc_autostats_mode_in_functions
sc_autostats_on_change_threshold
sc_autostats_allow_nonowner

警告:根据数据库操作的特定性质,自动统计信息收集可能会对性能产生负面影响。

仔细评估on_no_stats的默认设置是否适合您的系统。

sc_autostats_mode
说明
指定使用ANALYZE触发自动统计信息收集的模式。on_no_stats选项可以触发对任何没有统计信息的表上的CREATE TABLE AS SELECTINSERT,或COPY操作的统计信息收集。

当受影响的行数超过由sc_autostats_on_change_threshold定义的阀值时,on_change选项才会触发统计信息收集。 可以使用on_change触发自动统计信息收集的操作有:

CREATE TABLE AS SELECT

UPDATE

DELETE

INSERT

COPY

取值范围
none, on_change, on_no_stats
默认值
none
参数设置类型
Coordinator, session, reload
Note:
对于分区表来说,如果从分区表的顶级父表插入数据,则不会触发自动统计信息收集。

如果数据直接插入到分区表的叶表(数据的存储位置)中,则触发自动统计信息收集。统计数据仅在叶表上收集。
sc_autostats_mode_in_functions
说明
指定使用过程语言函数中的ANALYZE语句触发自动统计信息收集的模式。none选项禁用统计信息收集。 on_no_stats选项在任何没有现有统计信息表上的函数中执行的CREATE TABLE AS SELECTINSERT,或COPY操作触发统计信息收集。

只有当受影响的行数超过由sc_autostats_on_change_threshold定义的阀值时,on_change选项才会触发统计信息收集。 可以使用on_change触发自动信息统计收集功能的操作有:

CREATE TABLE AS SELECT

UPDATE

DELETE

INSERT

COPY

取值范围
none, on_change, on_no_stats
默认值
none
参数设置类型
Coordinator, session, reload
sc_autostats_on_change_threshold
说明
sc_autostats_mode设定为on_change时,指明自动统计信息收集的阀值。 当触发表操作影响超过此阀值的行数时,将添加ANALYZE并收集表的统计信息。
取值范围
0 ~ 2147483647
默认值
100000
参数设置类型
Coordinator, session, reload

sc_autostats_allow_nonowner

说明
是否允许非拥有者(Owner)对该表收集统计信息。
取值范围
on, off
默认值
off
参数设置类型
Coordinator, session, reload

客户端连接默认语句行为参数

application_name
check_function_bodies default_transaction_read_only
default_tablespace search_path
default_transaction_deferrable statement_timeout
default_transaction_isolation vacuum_freeze_min_age
application_name
说明
设置客户端会话的应用程序名称。例如,如果通过ssql连接,则将其设置为ssql。设置应用程序名称允许在日志消息和统计信息视图中显示。
取值范围
string
默认值
参数设置类型
Coordinator,session,reload
check_function_bodies
说明

设置为off时,在CREATE FUNCTION期间禁用函数体字符串的验证。

在从转储中恢复函数定义时,禁用验证有时可以避免诸如前向引用之类的问题。

取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
default_tablespace
说明
CREATE命令没有明确指定一个表空间,会在默认的表空间创建对象(表和索引)。
取值范围
表空间的名字
默认值
参数设置类型
Coordinator,session,reload
default_transaction_deferrable
说明
此参数控制每个新事务的默认可延迟状态。对读写事务或低于可序列化的隔离级别的操作没有影响。默认为关闭。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload
default_transaction_isolation
说明
控制每个新事务的默认隔离级别。 SeaboxMPP数据库将read uncommitted视为与read committed相同, 并将serializable视为与repeatable read相同。
取值范围
read committed,read uncommitted,repeatable read,serializable
默认值
read committed
参数设置类型
Coordinator,session,reload
default_transaction_read_only
说明
控制每个新事务的默认只读状态。只读的SQL事务不能修改非临时表。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload
search_path
说明

指定在没有schema组件的简单名称引用对象时搜索schema的顺序。

可以通过SQL函数current_schemas()检查搜索路径的当前有效值。

取值范围
以逗号分隔的schema名称列表
默认值
$user,public
参数设置类型
Coordinator,session,reload
statement_timeout
说明
中止任何超过指定毫秒数的语句。0关闭限制。
取值范围
毫秒数
默认值
0
参数设置类型
Coordinator,session,reload
vacuum_freeze_min_age
说明
指定VACUUM在扫描表时决定是否用FrozenXID替换事务ID时应使用的截止年龄(在事务中)。
取值范围
整数 0-100000000000
默认值
50000000
参数设置类型
local,system,restart

客户端连接默认区域设置和格式化参数

client_encoding lc_messages
DateStyle lc_monetary
extra_float_digits lc_numeric
IntervalStyle lc_time
lc_collate TimeZone
lc_ctype timezone_abbreviations
client_encoding
说明
设置客户端编码(字符集)。默认是使用与数据库相同的编码。
取值范围
字符集
默认值
UTF8
参数设置类型
Coordinator,session,reload
DateStyle
说明
设置日期和时间值的显示格式,以及解释模糊日期输入值的规则。该变量值包含两个独立的而部分:输出格式规范和输入输出规范中年月日的顺序。
取值范围

<format>, <date style>

其中:

<format>
是ISO, Postgre, SQL或German
<date style>
是DMY, MDY或 YMD
默认值
ISO, MDY
参数设置类型
Coordinator,session,reload
extra_float_digits
说明

调整浮点值显示的位数,包括float4,float8,和几何数据类型。显示是会把该参数值将加到数位上。

设置为负可摒弃不需要的位。

取值范围
-15-3
默认值
0
参数设置类型
Coordinator,session,reload
IntervalStyle
说明
设置间隔值的显示格式。值为sql_standard时生成与SQL标准区间文字匹配的输出。
取值范围
postgres,postgres_verbose,sql_standard,iso_8601
默认值
postgres
参数设置类型
Coordinator,session,reload
lc_collate
说明
完成文本数据排序的区域设置,集群初始化时确定该值。
取值范围
依赖操作系统
默认值
参数设置类型
read only
lc_ctype
说明
确定字符分类的区域设置,集群初始化时确定该值。
取值范围
依赖操作系统
默认值
参数设置类型
read only
lc_messages
说明
设置消息的显示语言。可用的语言环境取决于操作系统安装的内容,使用locale -a可列出可用的语言环境。默认值继承自服务器的执行环境。
取值范围
依赖操作系统
默认值
参数设置类型
local,system,restart
lc_monetary
说明
设置用于格式化货币金额的区域设置,例如使用to_char系列函数。可用的语言环境取决于操作系统安装的内容,使用locale -a可列出可用的语言环境。默认值继承自服务器的执行环境。
取值范围
依赖操作系统
默认值
参数设置类型
local,system,restart
lc_numeric
说明
设置用于格式化数字的语言环境,例如使用to_char系列函数。可用的语言环境取决于操作系统安装的内容,使用locale -a可列出可用的语言环境。默认值继承自服务器的执行环境。
取值范围
依赖操作系统
默认值
参数设置类型
local,system,restart
lc_time
说明
此参数目前不执行任何操作,但可能在将来执行。
取值范围
依赖操作系统
默认值
参数设置类型
local,system,restart
TimeZone
说明
设置显示和解释时间戳的时区。默认设置是使用系统环境指定的任何时区。
取值范围
时区缩写
默认值
参数设置类型
local,restart
timezone_abbreviations
说明

设置服务器为日期时间输入接受的时区缩写集合。默认值为Default,这是一个适用于世界大部分地区的集合。

值为存储在$SDHOME/share/seaboxsql/timezonesets/中的配置文件的名称。

取值范围
字符串
默认值
Default
参数设置类型
Coordinator,session,reload

其他客户端默认参数

dynamic_library_path local_preload_libraries
dynamic_library_path
说明
打开动态加载的模块,且在CREATE FUNCTIONLOAD命令中仅指定文件名而没有目录部分时,系统会搜索该参数指定的路径以获取所需的文件。
取值范围
由冒号分隔的绝对目录路径列表
默认值
$libdir
参数设置类型
local,system,restart
local_preload_libraries
说明
以逗号分隔的共享库文件列表,客户端会话开始时进行预加载。
取值范围
默认值
参数设置类型
local,system,restart

锁管理参数

这些配置参数设置锁和死锁的限制。

deadlock_timeout lock_timeout
sc_enable global_deadlock_detector max_locks_per_transaction
sc_global_deadlock_detector_period
deadlock_timeout
说明

查看是否存在死锁情况之前等待锁的时间。查看是否存在死锁情况之前等待锁的时间。 在负载比较重的集群中,可能需要提高该参数值。

理论上,设置的值应该超过用户的典型处理时间,以此提高在等待线程在决定检查死锁之前自动解锁的几率。

取值范围
任何有效时间的表达式(数字或者单位)。
默认值
1s
参数设置类型
local,system,restart
sc_enable_global_deadlock_detector
说明

是否启用数据库全局死锁检测器来管理堆表上的并发UPDATEDELETE操作以提高性能。

默认为off,全局死锁检测被禁用。

启用了全局死锁检测时,允许并发更新,且全局死锁检测会确定何时存在死锁,并通过终止与所涉及的最新事务关联的一个或多个后端进程来中断死锁。

取值范围
Boolean
默认值
off
参数设置类型
Coordinator,system,restart
sc_global_deadlock_detector_period
说明
指定全局死锁检测器后端进程的执行间隔(以秒为单位)。
取值范围
5 - INT_MAX
默认值
30
参数设置类型
Coordinator,session,reload
lock_timeout
说明

尝试获取表,索引,行或其他数据库对象的锁时,中止任何等待时间超过指定毫秒数的语句。时间限制在每次锁获取尝试是独立的。

该限制既适用于显式锁定请求(例如LOCK TABLE,或没有NOWAITSELECT FOR UPDATE),也适用于隐式获取的锁定。

如果log_min_error_statement设置为ERROR或更低,则数据库会记录超时的语句。

值为零(默认值)将关闭此锁定等待监视。

statement_timeout不同,该参数设置的超时只在等待锁时起作用。注意,如果statement_timeout非零,则将lock_timeout设置为相同或更大的值是没有意义的,因为语句超时始终会先触发。

注意,如果打开lock_timeout并将其设置为小于死锁检测超时的值,则数据库将在该会话中触发死锁检查之前中止语句。

强烈建议不要在seaboxsql.conf中设置lock_timeout,会影响所有会话。

取值范围
0 - INT_MAX,毫秒
默认值
0
参数设置类型
Coordinator,session,reload
max_locks_per_transaction
说明

一个事务所采用的锁数的最大平均值。整个数据库,最多可以在 max_locks_per_transaction *(max_connections + max_prepared_transactions)个对象上创建共享锁。

如果在单个事务中涉及许多不同的表,则需要提高此值。

取值范围
整数
默认值
64
参数设置类型
local,system,restart

外部表参数

以下参数配置数据库的外部表功能。

sc_external_enable_exec readable_external_table_timeout
sc_external_enable_filter_pushdown writable_external_table_bufsize
sc_external_max_execs sc_reject_percent_threshold
sc_external_enable_exec
说明
启用或禁用在Executor节点上执行OS命令或脚本的外部表的使用(CREATE EXTERNAL TABLE EXECUTE语法)。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_external_enable_filter_pushdown
说明
从外部表读取数据时启用谓词下推。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
sc_external_max_execs
说明
设置在外部表操作期间读取外部表数据的Executor实例数量,目的是使系统不要超载读取数据并从其他并发操作中夺走资源。仅适用于使用scfs://协议的外部表。
取值范围
integer
默认值
64
参数设置类型
Coordinator,session,reload
sc_reject_percent_threshold
说明
对于COPY和外部表SELECT上的单行错误处理,设置在EXECUTOR REJECT LIMIT n PERCENT开始计算之前处理的行数。
取值范围
1-n
默认值
300
参数设置类型
Coordinator,session,reload
readable_external_table_timeout
说明

该参数值为:当SQL查询从外部表读取时,当数据停止从外部表返回时,在取消查询之前等待的时间(以秒为单位)。

默认值0,即没有超时,此时数据库不会取消查询。

取值范围
整数 >= 0
默认值
0
参数设置类型
Coordinator,system,reload
writable_external_table_bufsize
说明
数据库用于网络通信的缓冲区大小(以KB为单位),数据库在写入数据之前将数据存储在缓冲区中。
取值范围
整数 32 - 131072 (32KB - 128MB)
默认值
64KB
参数设置类型
local,session,reload

创建用户表相关参数

以下参数配置数据库用户表的默认选项设置。

sc_default_storage_options
sc_create_table_default_distribution
sc_default_storage_options
说明

使用此参数设置创建列存表时默认存储选项,而不是在CREATE TABLE命令的WITH中指定表存储选项。将多个存储选项值指定为逗号分隔列表。

使用CREATE TABLE命令指定的表存储选项会覆盖此参数指定的值。

支持以下存储选项设置:

  • blocksize

  • checksum

  • compresstype

  • charsemantics

  • compresslevel

  • blockrownum

取值范围

字符串.

  • blocksize 整数,8192~2097152

  • checksum Boolean,True或false

  • compresstype 字符串,值可为auto,node,lz4,rle,zstd,gorilla,multiple

  • charsemantics 字符串, 值可为byte或char

  • compresslevel 整数,0-9

  • blockrownum 整数,16-261120

默认值
blocksize=1048576,compresstype=auto,charsemantics=byte,compresslevel=1,checksum=true,blockrownum=32768
参数设置类型
Coordinator,session,reload
sc_create_table_default_distribution
说明

使用不包含DISTRIBUTED BY子句的CREATE TABLE或CREATE TABLE AS创建用户表时,控制表的分布方式。

支持以下存储选项设置:

  • 参数的值为auto,当建表语句不包含DISTRIBUTED BY子句,数据库将根据以下原则选择表分布键:

  • 如果指定了LIKEINHERITS子句,则从源表或父表复制分布键。

  • 如果指定了PRIMARY KEYUNIQUE约束,则选择所有键列的最大子集作为分布键。

  • 如果既没有指定约束也没有指定LIKEINHERITS子句,则第一个合适的列作为分布键。

对于不包含分布子句的CREATE TABLE AS命令,根据建表语句确定表的分发策略。

  • 参数的值为random,当建表语句不包含DISTRIBUTED BY子句,数据库将根据以下原则选择表分布键:

  • 如果未指定PRIMARY KEY或UNIQUE列,则表的分布是随机的(DISTRIBUTED RANDOMLY),即使建表语句包含LIKE或INHERITS子句,表分发也是随机的。

  • 如果指定了PRIMARY KEY或UNIQUE列,则还必须指定DISTRIBUTED BY子句。如果未指定DISTRIBUTED BY子句,则该建表语句执行失败。

对于不包含分布子句的CREATE TABLE AS命令,表分发策略是随机的。

  • 参数的值为error,当建表语句不包含DISTRIBUTED BY子句,数据库将报错提示用户。
取值范围
auto,random,error
默认值
auto
参数设置类型
Coordinator,session,reload

列存表参数

以下参数配置数据库的列存表功能。

scolumn_compaction_threshold
scolumn_compaction_threshold
说明

指定在VACUUM命令没有FULL选项的情况下执行时隐藏行与触发压缩的总行的阈值比率(百分比)。

如果Executor节点上的数据文件中的隐藏行的比率小于此阈值,则不压缩段文件,并发出日志消息。

取值范围
整数,百分比
默认值
10
参数设置类型
Coordinator,session,reload

通用兼容性参数

以下参数提供其他数据库标准的兼容设置。通常情况下不需要更改这些参数。

array_nulls
backslash_quote standard_conforming_strings
escape_string_warning transform_null_equals
replace_invalid_encoding
array_nulls
说明
用于控制数组输入解析器是否将未加引号的NULL识别为指定空数组元素。默认情况下,此选项处于启用状态,允许输入包含空值的数组值。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
backslash_quote
说明
这可以控制是否在字符串中可以用\'表示引号。代表引号的首选SQL标准是用''表示,但是部分数据库也使用\\'表示。
取值范围
on(总是允许 \'),off(总是拒绝),safe_encoding(只有客户端编码不允许多字节中的ASCII字符\才允许)
默认值
safe_encoding
参数设置类型
Coordinator,session,reload
escape_string_warning
说明
开启该参数时,如果在普通字符串文字('...'语法)中出现反斜杠(\\),则会发出警告。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
standard_conforming_strings
说明
确定普通的字符串文字('...')是否按字面意思处理反斜杠,如SQL标准中所指定的那样。默认值为on。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,session,reload
transform_null_equals
说明
启用时,表达式expr = NULL(或NULL = expr)被视为expr IS NULL,即,如果expr计算为空值,则返回true,否则返回false。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload
replace_invalid_encoding
说明
当其值设为非空字符时,如果数据入库时如果遇到不支持字符时(如不可见字符),会将其替换为此参数设置的非空字符。默认状态遇到不支持字符时,表现为报错。
取值范围
任意可见字符
默认值
''(空字符串)
参数设置类型
Coordinator,session,reload

历史版本兼容参数

以下参数提供与历史版本兼容设置。通常情况下不需要更改这些参数。

sc_ignore_error_table
sc_ignore_error_table
说明

该参数控制是否支持在CREATE EXTERNAL TABLECOPY命令中指定不推荐使用的INTO ERROR TABLE子句。默认值为false,如果在命令中指定了INTO ERROR TABLE子句,将返回错误。

注意:不推荐使用该参数

取值范围
Boolean
默认值
false
参数设置类型
Coordinator,session,reload

集群配置—网络连接配置参数

注意: SeaboxMPP数据库集群仅支持UDPIFC(默认)和TCP互连类型。

sc_interconnect_fc_method sc_interconnect_setup_timeout
sc_interconnect_type sc_interconnect_snd_queue_depth
sc_interconnect_queue_depth sc_max_packet_size
ignore_checksum_failure
ignore_checksum_failure
说明

在启用了data_checksums时,使用校验和来防止将文件系统中已损坏的行存表数据加载到由数据库进程管理的内存中。

默认情况下,当读取行存表数据页时发生校验和验证错误时,数据库会生成错误并阻止将页面加载到托管内存中。

当`此参数设置为on并且校验和验证失败时,数据库会只生成警告,并允许将页面读入托管内存。

如果页面随后更新,则会将其保存到磁盘并复制到mirror实例。

如果文件头已损坏,即使启用此选项,也会报告错误。

警告:将ignore_checksum_failure设置为on可能会传播或隐藏数据损坏或导致其他严重问题。

取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
sc_interconnect_fc_method
说明

指定用于默认数据库UDPIFC interconnect的流控制方法。

值为CAPACITY是容量的流量控制,当接收器没有容量时,发送器不发送数据包。

值为LOSS是基于损耗的流量控制,且根据包丢失来调整发送速度。

取值范围
CAPACITY,LOSS
默认值
LOSS
参数设置类型
Coordinator,session,reload
sc_interconnect_queue_depth
说明

设置接收端通过默认UDPIFC传输数据的队列深度(当接收到数据但没有可用于接收数据的空间时,数据将被丢弃,并且发送端将需要重新发送)。

将该参数从其默认值增加将导致系统使用更多内存,但可能会提高性能。通常情况,此值设置在1到10之间是合理的。

数据倾斜较严重的查询随着队列深度的设置值增加而提升性能。

取值范围
1-2048
默认值
4
参数设置类型
Coordinator,session,reload
sc_interconnect_setup_timeout
说明
指定网络传输的超时时限。
取值范围
任何有效的时间表达式(数量和单位)
默认值
2h
参数设置类型
Coordinator,session,reload
sc_interconnect_snd_queue_depth
说明

设置发送端默认UDPIFC队列深度。将该深度参数从其默认值增加将导致系统使用更多内存,但可能会提高性能。

此参数的合理值介于1和4之间。

取值范围
1-4096
默认值
2
参数设置类型
Coordinator,session,reload
sc_interconnect_type
说明

设置用于集群节点之间传输数据的网络协议。

UDPIFC指定使用UDP和流量控制来实现节点之间传输数据。

使用TCP时,目前数据库的上限为1000个Executor实例

取值范围
UDPIFC,TCP
默认值
UDPIFC
参数设置类型
local,system,restart
sc_max_packet_size
说明
设置集群之间数据传输的数据块大小。
取值范围
512-65536
默认值
8192
参数设置类型
Coordinator,system,restart

集群配置—调度配置参数

sc_cached_segworkers_threshold sc_node_connect_timeout
sc_enable_direct_dispatch sc_enable_job_scheduler
sc_cached_segworkers_threshold
说明
数据库在启动会话并发出查询时,会在每个Executor实例上创建工作进程的组来完成查询工作。完成这些工作后,除了由此参数设置的缓存进程数之外,其余工作进程均会销毁。
取值范围
整数 > 0
默认值
5
参数设置类型
Coordinator,session,reload
sc_node_connect_timeout
说明
集群节点之间数据传输通过网络连接到Executor实例的超时时间。
取值范围
任何有效的时间表达式(数量和单位)
默认值
3min
参数设置类型
local,system,reload
sc_enable_job_scheduler
说明
控制是否在coordinator实例下启动job scheduler进程。
取值范围
Boolean
默认值
on
参数设置类型
Coordinator,system,restart

集群配置—故障操作参数

sc_fts_probe_timeout sc_fts_probe_retries
sc_fts_probe_interval
sc_fts_probe_interval
说明
指定故障检测过程的轮询间隔,检测过程将花费大约这段时间来检测Executor故障。
取值范围
10 - 3600秒
默认值
10s
参数设置类型
Coordinator,system,restart
sc_fts_probe_retries
说明
指定在报告Executor实例故障之前故障检测过程(ftsprobe)尝试连接到Executor实例的次数。
取值范围
整数
默认值
5
参数设置类型
Coordinator,system,restart
sc_fts_probe_timeout
说明
指定故障检测过程(ftsprobe)允许的超时,以在声明它之前建立与Executor的连接。
取值范围
10 - 3600,单位秒
默认值
20
参数设置类型
Coordinator,system,restart

集群配置—事务管理参数

sc_max_local_distributed_cache transaction_isolation
transaction_read_only
sc_max_local_distributed_cache
说明

设置Executor实例的后端进程内存中缓存的最大分布式事务日志条目数。

日志条目包含有关SQL语句正在访问的行的状态的信息。该信息用于确定在MVCC环境中多个SQL语句同时执行时SQL事务可见的行。

通过提高行可见性确定过程的性能,本地缓存分布式事务日志条目可提高事务处理速度。

默认值适用于各种SQL处理环境。

取值范围
整数
默认值
1024
参数设置类型
local,system,restart
transaction_isolation
说明
设置当前事务隔离级别。
取值范围
read committed,serializable
默认值
read committed
参数设置类型
Coordinator,session,reload
transaction_read_only
说明
设置当前事务的只读状态。
取值范围
Boolean
默认值
off
参数设置类型
Coordinator,session,reload

复制

wal_keep_segments max_wal_senders
max_replication_slots wal_sender_timeout
track_commit_timestamp vacuum_defer_cleanup_age
synchronous_standby_names hot_standby
max_standby_archive_delay max_standby_streaming_delay
wal_receiver_status_interval hot_standby_feedback
wal_receiver_timeout wal_retrieve_retry_interval
wait_for_replication_threshold
wal_keep_segments
说明
指定在备节点需要为了流复制获取日志段文件的情况下,sd_wal目录下能保留的过去日志文件段的最小数目。
取值范围
整数
默认值
0
参数设置类型
Coordinator,session,reload
max_wal_senders
说明
指定在备节点需要为了流复制获取日志段文件的情况下,sd_wal目录下能保留的过去日志文件段的最小数目。
取值范围
整数
默认值
10
参数设置类型
local,system,restart
max_replication_slots
说明
指定服务可以支持的复制槽的最大数量。
取值范围
整数
默认值
10
参数设置类型
local,system,restart
wal_sender_timeout
说明
中断那些停止活动超过指定毫秒数的复制连接。
取值范围
整数
默认值
60 * 1000
参数设置类型
Coordinator,session,reload
track_commit_timestamp
说明
中断那些停止活动超过指定毫秒数的复制连接。
取值范围
Boolean
默认值
off
参数设置类型
local,system,restart
vacuum_defer_cleanup_age
说明
指定VACUUM和HOT更新在清除死亡行版本之前,应该推迟多久(以事务数量计)。
取值范围
0 - 1000000
默认值
0
参数设置类型
Coordinator,session,reload
synchronous_standby_names
说明
指定一个支持同步复制的后备服务的列表。
取值范围
string
默认值
参数设置类型
Coordinator,session,reload
hot_standby
说明
指定在恢复期间,你是否能够连接并运行查询。
取值范围
Boolean
默认值
on
参数设置类型
local,system,restart
max_standby_archive_delay
说明
当热后备机处于活动状态时,这个参数决定取消那些与即将应用的 WAL项冲突的后备机查询之前,后备服务应该等待多久。当WAL 数据被从 WAL 归档(并且因此不是当前的 WAL)时,max_standby_archive_delay可以应用。-1允许后备机一直等到冲突查询结束。
取值范围
整数
默认值
30 * 1000
参数设置类型
Coordinator,session,reload
max_standby_streaming_delay
说明
当热后备机处于活动状态时,这个参数决定取消那些与即将应用的 WAL项冲突的后备机查询之前,后备服务应该等待多久。当WAL 数据正在通过流复制被接收时,max_standby_streaming_delay可以应用。-1允许后备机一直等到冲突查询结束。
取值范围
整数
默认值
30 * 1000
参数设置类型
Coordinator,session,reload
wal_receiver_status_interval
说明
指定在后备机上的WAL接收者进程向主服务或上游后备机发送有关复制进度的信息的最小频度。
取值范围
整数
默认值
10
参数设置类型
Coordinator,session,reload
hot_standby_feedback
说明
指定一个热后备机是否将会向主服务或上游后备机发送有关于后备机上当前正被执行的查询的反馈。
取值范围
boolean
默认值
off
参数设置类型
Coordinator,session,reload
wal_receiver_timeout
说明
中止处于非活动状态超过指定毫秒数的复制链接。
取值范围
整数
默认值
60 * 1000
参数设置类型
Coordinator,session,reload
wal_retrieve_retry_interval
说明
指定当从任何来源(流复制、本地sd_wal或者 WAL 归档)都得不到 WAL 数据时,后备服务应该等待多久才去重新尝试 获取WAL 数据。
取值范围
整数
默认值
5000
参数设置类型
Coordinator,session,reload
wait_for_replication_threshold
说明
一个事务在等待复制同步之前写入的最大WAL值。为了避免流复制的主备节点之间产生巨大延迟。默认单位为字节
取值范围
整数
默认值
1024
参数设置类型
Coordinator,session,reload

集群配置—只读参数

sc_command_count sc_session_id
sc_content server_version
sc_dbid port
server_version_num server_encoding
blocksize max_function_args
max_identifier_length max_index_keys
data_checksums integer_datetimes
block_size
说明
数据文件存储的块大小。
取值范围
字节数
默认值
32768
参数设置类型
read only
data_checksums
说明

是否为数据库系统中的堆数据存储启用了checksum校验机制。初始化数据库是指定是否启用且无法更改。

checksum对行存数据,包括用户表,系统表,索引和数据库元数据进行校验。启用checksum时,数据库会在行存数据页写入磁盘时计算并存储checksum值。从磁盘检索页面时,也将验证checksum值。如果验证失败,则会生成错误,且不允许将页面加载到共享内存中。

取值范围
Boolean
默认值
on
参数设置类型
read only
integer_datetimes
说明
是否支持64位整数日期和时间。
取值范围
Boolean
默认值
on
参数设置类型
read only
max_function_args
说明
函数参数的最大数量。
取值范围
整数
默认值
100
参数设置类型
read only
max_identifier_length
说明
最大标识符长度。
取值范围
整数
默认值
63
参数设置类型
read only
max_index_keys
说明
索引键的最大数量。
取值范围
整数
默认值
32
参数设置类型
read only
sc_command_count
说明
显示Coordinator实例从客户端收到的命令数。请注意,单个SQL命令实际上可能在内部涉及多个命令,因此对于单个查询,计数器可能会增加多个。
取值范围
整数 > 0
默认值
1
参数设置类型
read only
sc_contentid
说明
每个组件实例的内容ID。
取值范围
整数
默认值
各不相同
参数设置类型
read only
sc_dbid
说明
每个组件实例的dbID。
取值范围
整数
默认值
各不相同
参数设置类型
read only
sc_session_id
说明
系统为客户端会话分配的ID号。首次启动Coordinator实例时从1开始计数。
取值范围
1-n
默认值
14
参数设置类型
read only
server_version
说明
版本号,显示格式为xx.xx.xx.xx。
取值范围
字符串
默认值
12.3
参数设置类型
read only
server_version_num
说明
版本号,显示格式为数字。
取值范围
整数
默认值
120003
参数设置类型
read only
port
说明
数据库各组件实例的数据库监听端口。Coordinator和每个Executor实例都有自己的端口。
取值范围
任何有效的端口号
默认值
3000
参数设置类型
read only
server_encoding
说明
server端字符集设置
取值范围
依赖操作系统
默认值
UTF8
参数设置类型
read only

数据库扩展相关参数—pljava相关参数

本主题中的参数控制SeaboxMPP数据库扩展pljava的配置。

pljava_classpath
pljava_classpath_insecure
pljava_statement_cache_size
pljava_release_lingering_savepoints
pljava_vmoptions
pljava_classpath
说明

指定包含jar文件或目录,使用冒号(:)分隔。$SDHOME/lib/seaboxsql/java目录中的jar文件的路径可以省略。

jar文件必须安装在所有节点的相同位置上,并且seabox用户可读。

取值范围
string
默认值
参数设置类型
Coordinator,session,reload,superuser
pljava_classpath_insecure
说明

控制是否由数据库超级用户权限的用户设置服配置参数pljava_classpath

如果为true,则pljava_classpath可由常规用户设置。否则,pljava_classpath只能由数据库超级用户设置。默认值为false

取值范围
Boolean
默认值
false
参数设置类型
Coordinator,session,reload,superuser
pljava_statement_cache_size
说明
为预准备语句设置JRE MRU(最近使用)缓存的大小(以KB为单位)。
取值范围
整数
默认值
10
参数设置类型
Coordinator,system,restart,superuser
pljava_release_lingering_savepoints
说明
如果为true,则PL/Java函数中使用的延迟保存点将在函数退出时释放。如果为false,则将回滚保存点。
取值范围
Boolean
默认值
true
参数设置类型
Coordinator,system,restart,superuser
pljava_vmoptions
说明
定义Java VM的启动选项。默认值为空字符串(“”)。
取值范围
string
默认值
参数设置类型
Coordinator,system,reload,superuser

XML数据参数

本主题中的参数控制SeaboxMPP数据库XML数据的配置。

xmlbinary
xmloption
xmlbinary
说明

指定如何在XML数据中编码二进制值。 例如,当bytea值转换为XML时。二进制数据可以转换为base64编码或十六进制编码。

默认值为base64。

取值范围
base64,hex
默认值
base64
参数设置类型
Coordinator,session,reload
xmloption
说明

指定是否将XML数据视为执行隐式解析和序列化的操作的XML文档(document)或XML内容片段(content)。

默认为content

取值范围
document,content
默认值
content
参数设置类型
Coordinator,session,reload

其他组件或插件

default_text_search_config
说明
默认使用的全文检索配置参数。内置缺省值为pg_catalog.simple
取值范围
文本搜索配置的名称。
默认值
pg_catalog.simple
参数设置类型
Coordinator,session,reload