参数详细说明
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¶
- 说明
- 指定要在维护操作中使用的最大内存量,例如
VACUUM
和CREATE INDEX
。默认为16兆字节(16MB)。该参数设置较大会提高清理和索引创建的性能。 - 取值范围
- 整数
- 默认值
- 整数
- 参数设置类型
- local,system,restart
max_stack_depth¶
- 说明
- 指定服务端执行堆栈的最大安全深度。如果发现不能运行复杂的函数,可以适当提高此配置的值。
- 取值范围
- KB
- 默认值
- 2MB
- 参数设置类型
- local,system,restart
shared_buffers¶
- 说明
-
设置数据库Executor实例用于共享缓冲区的内存量。该参数设置须至少为128KB且至少为
max_connections
的16KB倍。集群中每个Executor实例根据该实例的配置参数计算并分配共享内存。
shared_buffers
参数的值是该共享内存计算的重要部分,还需要依赖操作系统参数SHMMAX
或SHMALL
的值。操作系统参数
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
的值是该节点上其他应用程序和进程使用的共享内存量。发生共享内存分配错误时,解决共享内存分配问题的可能方法是增加
SHMMAX
或SHMALL
,或减少shared_buffers
或max_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
基于成本的清理延迟参数¶
可以通过配置VACUUM
和ANALYZE
命令的执行成本,以减少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_distinct
和sc_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
子句或DELETE
,INSERT
或UPDATE
命令中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表示不监视计划的大小。
可以指定以
kB
,MB
或GB
为单位的值。 默认单位是kB
。例如,值200
是200kB。值
1GB
与1024MB
或1048576kB
相同。 - 取值范围
- 整数
- 默认值
- 0
- 参数设置类型
- Coordinator,superuser,session
调优参数—查询计划执行¶
控制查询计划的执行。
sc_max_slices |
sc_max_slices¶
- 说明
-
指定可以由查询生成的最大切片数(在Executor实例上执行的查询计划的部分)。
如果查询生成的切片数超过指定数量,则SeaboxMPP数据库将返回错误并且不执行查询。
默认值为
0
,没有最大值。执行生成大量切片的查询可能会影响数据库性能。例如,在多个复杂视图上包含
UNION
或UNION ALL
运算符的查询可以生成大量切片。可以在查询上运行EXPLAIN ANALYZE
以查看查询的切片统计信息。 - 取值范围
- 0 - INT_MAX
- 默认值
- 0
- 参数设置类型
- Coordinator,session,reload
日志记录位置和文件属性参数¶
log_destination | logging_collector |
log_directory | log_filename |
log_file_mode |
log_destination¶
- 说明
- 支持多种记录服务器消息的方法,包括
stderr
、csvlog
和syslog
。
取值范围: stderr
、csvlog
和syslog
默认值: 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
被启用时,设置日志文件的权限。值应当是chmod
和umask
系统调用接受的数字形式模式。
取值范围: 值应当是chmod
和umask
系统调用接受的数字形式模式。
默认值: 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_mode和sc_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_activity的
query
列中的查询文本的最大长度限制。 - 取值范围
- 整数,字节
- 默认值
- 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
)或新生成没有统计信息的表时,在与INSERT
,UPDATE
,DELETE
,COPY
或CREATE 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 SELECT
,INSERT
,或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 SELECT
,INSERT
,或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 FUNCTION
或LOAD
命令中仅指定文件名而没有目录部分时,系统会搜索该参数指定的路径以获取所需的文件。 - 取值范围
- 由冒号分隔的绝对目录路径列表
- 默认值
- $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¶
- 说明
-
是否启用数据库全局死锁检测器来管理堆表上的并发
UPDATE
和DELETE
操作以提高性能。默认为
off
,全局死锁检测被禁用。启用了全局死锁检测时,允许并发更新,且全局死锁检测会确定何时存在死锁,并通过终止与所涉及的最新事务关联的一个或多个后端进程来中断死锁。
- 取值范围
- Boolean
- 默认值
- off
- 参数设置类型
- Coordinator,system,restart
sc_global_deadlock_detector_period¶
- 说明
- 指定全局死锁检测器后端进程的执行间隔(以秒为单位)。
- 取值范围
- 5 - INT_MAX
- 默认值
- 30
- 参数设置类型
- Coordinator,session,reload
lock_timeout¶
- 说明
-
尝试获取表,索引,行或其他数据库对象的锁时,中止任何等待时间超过指定毫秒数的语句。时间限制在每次锁获取尝试是独立的。
该限制既适用于显式锁定请求(例如
LOCK TABLE
,或没有NOWAIT
的SELECT 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子句,数据库将根据以下原则选择表分布键: -
如果指定了
LIKE
或INHERITS
子句,则从源表或父表复制分布键。 -
如果指定了
PRIMARY KEY
或UNIQUE
约束,则选择所有键列的最大子集作为分布键。 -
如果既没有指定约束也没有指定
LIKE
或INHERITS
子句,则第一个合适的列作为分布键。
对于不包含分布子句的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 TABLE
或COPY
命令中指定不推荐使用的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