常规参数
以下参数配置基本数据库操作。 查询 CONFIGURATION_PARAMETERS 系统表以确定哪些级别(节点、会话、用户、数据库)对给定参数有效。
- ApplyEventsDuringSALCheck
- 布尔值,指定 Vertica 是否使用编录事件在节点启动期间筛选掉已删除的损坏分区。删除损坏的分区可以加速节点恢复。
禁用 (0) 时,Vertica 会报告损坏的分区,但不采取任何措施。保留损坏的分区可以将当前投影检查点时期重置为损坏发生之前的时期。
此参数对未分区表没有影响。
默认值: 0
- ApportionedFileMinimumPortionSizeKB
- 指定用于分摊文件负载的最小分区大小(以 KB 为单位)。只有在以下情况下,Vertica 才会跨多个节点分摊文件负载:
-
负载可以拆分成至少等于此值的分区。
-
EnableApportionedFileLoad 和 EnableApportionLoad 设置为 1(启用)。
另请参阅 EnableApportionLoad 和 EnableApportionedFileLoad。
默认值: 1024
-
- BlockedSocketGracePeriod
- 设置会话套接字在等待给定查询的客户端输入或输出时保持拦截状态的时间。请参阅处理会话套接字阻止。
默认值: None(套接字阻止可以无限期地继续。)
- CatalogCheckpointPercent
- 指定为数据库编录创建检查点的阈值。
默认情况下,此参数设置为 50 (%),因此当事务日志达到上一个检查点大小的 50% 时,Vertica 会添加一个检查点。每个检查点都会界定自上一个检查点以来对编录进行的所有更改。
默认值: 50 (%)
- ClusterSequenceCacheMode
- 布尔值,指定启动程序节点是否请求群集中其他节点的缓存,然后将缓存随执行计划一起发送至其他节点,为以下之一。
-
1(启用):启动程序节点请求缓存。
-
0:(禁用):所有节点都请求其自己的缓存。
请参阅分发命名序列。
默认值: 1(启用)
-
- CompressCatalogOnDisk
- 指定是否压缩磁盘上编录的大小,为以下之一:
-
0:不压缩。
-
1:压缩检查点,但不压缩日志。
-
2:压缩检查点和日志。
如果编录磁盘分区较小 (<50 GB),而元数据较大(数百个表、分区或节点),则考虑启用此参数。
默认值: 0
-
- CompressNetworkData
- 布尔值,指定在启用时(设置为 1)是否压缩通过内部网络发送的所有数据。这种压缩将加快网络流量,但会增加 CPU 负载。如果网络正在限制数据库性能,可通过启用压缩解决此问题。
默认值: 0
- CopyFaultTolerantExpressions
- 布尔值,指示在转换期间是否报告记录拒绝,并在转换失败时继续 (true) 或中止 COPY 操作。
默认值: 0 (false)
- CopyFromVerticaWithIdentity
- 允许
COPY FROM VERTICA
和导出到 VERTICA
将值加载到标识(或自动增量)列中。目标标识列不会自动递增。要禁用默认行为,请将此参数设置为 0(零)。默认值: 1
- DatabaseHeartbeatInterval
- 确定每个节点执行运行状况检查和传递检测信号的时间间隔(以秒为单位)。如果节点未在连续五个指定时间间隔内收到消息,该节点将被逐出群集。将时间间隔设置为 0 可禁用此功能。
请参阅自动逐出运行状况不佳的节点。
默认值: 120
- DefaultArrayBinarySize
- 如果在创建时未指定最大大小,则为无界集合的最大二进制大小(以字节为单位)。
默认值: 65000
- DefaultTempTableLocal
- 布尔值,指定 CREATE TEMPORARY TABLE 是创建本地临时表还是全局临时表,为以下之一:
-
0:创建全局临时表。
-
1:创建本地临时表。
有关详细信息,请参阅创建临时表。
默认值: 0
-
- DivideZeroByZeroThrowsError
- 布尔值,指定在请求除数为零的运算时是否返回错误:
-
0:返回 0。
-
1:返回错误。
默认值: 1
-
- EnableApportionedChunkingInDefaultLoadParser
- 布尔值,指定是否为已分隔文件启用内置解析器,以利用分摊负载和协作解析,从而获得更好的性能。
默认值: 1(启用)
- EnableApportionedFileLoad
- 布尔值,指定是否使用 COPY FROM VERTICA 启用跨节点自动分摊文件负载。Vertica 在满足以下条件时尝试分摊负载:
-
此参数和 EnableApportionLoad 均已启用。
-
解析器支持分摊。
-
负载可分为至少为 ApportionedFileMinimumPortionSizeKB 值的分区大小。
设置此参数并不能保证负载将被分摊,但禁用此参数可以保证不会被分摊。
请参阅分配加载。
默认值: 1(启用)
-
- EnableApportionLoad
- 布尔值,指定是否使用 COPY...WITH SOURCE 启用跨节点自动分摊数据负载。Vertica 在满足以下条件时尝试分摊负载:
-
此参数已启用。
-
源和解析器均支持分摊。
设置此参数并不能保证负载将被分摊,但禁用此参数可以保证不会被分摊。
有关详细信息,请参阅分配加载。
默认值: 1(启用)
-
- EnableBetterFlexTypeGuessing
- 布尔值,指定在使用
COMPUTE_FLEXTABLE_KEYS
或COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW
将数据类型分配给 Flex 表__raw__
列中的非字符串键时,是否启用更准确的类型猜测。如果禁用此参数 (0),Vertica 将使用一组有限的 Vertica 数据类型分配。例如,请参阅计算 Flex 表键。默认值: 1(启用)
- EnableCooperativeParse
- 布尔值,指定是否对节点实施多线程解析功能。此参数可用于分隔的负载和固定宽度的负载。
默认值: 1(启用)
- EnableForceOuter
- 布尔值,指定 Vertica 是否使用表的
force_oute
r 值来实施联接。有关详细信息,请参阅控制联接输入。默认值: 0(禁用强制联接输入)
- EnableMetadataMemoryTracking
- 布尔值,指定是否允许 Vertica 跟踪 METADATA 资源池中数据库元数据使用的内存。
默认值: 1(启用)
- EnableResourcePoolCPUAffinity
- 布尔值,指定 Vertica 是否根据处理 CPU 的资源池调整查询。禁用时 (0),查询将在任意 CPU 上运行,无论资源池的
CPU_AFFINITY_SET
为何。默认值: 1
- EnableStrictTimeCasts
- 指定是否所有转换失败都会导致错误。
默认值: 0(禁用)
- EnableUniquenessOptimization
- 布尔值,指定是否启用可保证列值唯一性的查询优化。可保证具有唯一值的列包括:
-
使用 AUTO_INCREMENT 或 IDENTITY 约束定义的列
-
会强制执行键约束的主键列
默认值: 1(启用)
-
- EnableWithClauseMaterialization
- 由 WithClauseMaterialization 取代。
- ExternalTablesExceptionsLimit
- 确定当
SELECT
语句引用外部表时所允许的最大COPY
异常和拒绝数。设置为-1
可删除任何异常限制。请参阅查询外部表。默认值: 100
- FailoverToStandbyAfter
- 指定活动备用节点等待多长时间后替换故障节点。
此参数设置为字面量类时间间隔。
默认值: 无
- FencedUDxMemoryLimitMB
- 设置隔离模式
UDF 可以使用的最大内存量(以兆字节 (MB) 为单位)。如果 UDF 尝试分配的内存超过此限制,则该尝试会触发一个异常。有关详细信息,请参阅隔离和非隔离模式。
默认值: -1(无限制)
- FlexTableDataTypeGuessMultiplier
- 指定为 flex 键表分配数据类型和列宽时
COMPUTE_FLEXTABLE_KEYS
和COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW
函数使用的系数。这两个函数都会为每个键分配一种数据类型,并用最长键值乘以此因子来估算列宽。此值不可用于在 flex 表中计算任何实际列的宽度。默认值:
2.0
- FlexTableRawSize
- 指定新 flex 表中
__raw__
列的默认列宽,该值介于 1 和 32000000(包含)之间。默认值:
130000
- ForceUDxFencedMode
- 启用 (1) 时,将强制所有支持隔离模式的 UDx 在隔离模式下运行,即使其定义指定了 NOT FENCED 也如此。
默认值:
0
- JavaBinaryForUDx
- 设置 Vertica 用于运行 Java UDx 的 Java 可执行文件的完整路径。请参阅在 Vertica 主机上安装 Java。
- JoinDefaultTupleFormat
- 指定在联接这些列上的表时如何调整 VARCHAR 列数据的大小,并相应地进行缓冲,为以下之一:
-
fixed
:使用联接列元数据将列数据的大小调整为固定长度,并相应地进行缓冲。 -
variable
:使用联接列数据的实际长度,因此每个联接的缓冲区大小不同。
默认值:
fixed
-
- KeepAliveIdleTime
- 发送第一个 TCP keepalive 探测器以确保客户端仍然连接之前的时间(以秒为单位)。
默认值: 7200
- KeepAliveProbeCount
- 在客户端连接被认为丢失和关闭之前,客户端必须取消确认的 keepalive 探测器的连续数。
默认值: 9
- KeepAliveProbeInterval
- keepalive 探测器之间的时间间隔(以秒为单位)。
默认值: 75
- LockTimeout
- 指定表可以锁定多长时间(以秒为单位)。您可以在所有级别设置此参数:会话、节点和数据库。
默认值: 300
- LoadSourceStatisticsLimit
- 指定在 LOAD_SOURCES 系统表中分析的每个加载操作的最大源数。将其设置为 0 可禁用分析。
默认值: 256
- MaxBundleableROSSizeKB
- 指定独立 ROS 文件的最小大小(以 KB 为单位)。Vertica 可将低于此大小的存储容器 ROS 文件捆绑成一个文件。捆绑可以提高任何文件密集型操作的性能,包括备份、还原和合并。
如果将此参数的值设为 0,Vertica 会捆绑 .fdb 和 .pidx 文件,而不会捆绑其他存储容器文件。
默认值: 1024
- MaxClientSessions
- 确定可在数据库的单个节点上运行的最大客户端会话数。默认值额外允许五次管理登录。这些登录可防止在非 dbadmin 用户达到登录限制时 DBA 遭到系统阻拦。
提示
将此参数设置为 0 可防止当您正在关闭数据库时有新的客户端会话打开。重新启动数据库后,此参数将还原为其原始设置。有关详细信息,请参阅管理会话。默认值: 50 次用户登录和额外的 5 次管理登录
- ParquetMetadataCacheSizeMB
- 读取 Parquet 数据时用于元数据的缓存大小。缓存使用本地 TEMP 存储。
默认值: 4096
- PatternMatchingUseJit
- 布尔值,指定是否可以即时编译查询中使用的正则表达式模式匹配函数(编译成机器代码)。通常,启用此参数可以提高大型表的模式匹配性能。Perl 兼容正则表达式 (PCRE) 模式匹配库可评估正则表达式。重新启动数据库,使此参数生效。
另请参阅 正则表达式函数。
默认值: 1(启用)
- PatternMatchStackAllocator
- 布尔值,指定是否覆盖模式匹配库的堆栈内存分配器。Perl 兼容正则表达式 (PCRE) 模式匹配库可评估正则表达式。重新启动数据库,使此参数生效。
另请参阅 正则表达式函数。
默认值: 1(启用覆盖)
- TerraceRoutingFactor
- 指定在实施基于机架的容错组的任何企业模式大型群集上启用还是禁用 terrace 路由。
- 要启用,请进行如下设置:
其中: * numRackNodes:机架中的节点数 * numRacks:群集中的机架数 - 要禁用,请设置为一个大到无法为最大群集启用 terrace 路由的值,例如 1000。
有关详细信息,请参阅Terrace 路由。
默认值: 2
- 要启用,请进行如下设置:
- TransactionIsolationLevel
- 更改数据库的隔离级别。修改后,Vertica 将对每个新会话使用新的事务级别。现有会话及其事务会继续使用原始隔离级别。
另请参阅 更改事务隔离级别。
默认值: READ COMMITTED
- TransactionMode
- 指定事务处于读/写模式还是处于只读模式。默认值为读/写模式。现有会话及其事务会继续使用原始隔离级别。
默认值: READ WRITE
- UDxFencedBlockTimeout
- 指定中止在 隔离和非隔离模式 中运行的 UDx 之前等待输出的秒数。如果服务器因此中止 UDx,它会产生类似于以下的错误消息:“ERROR 3399: Failure in UDx RPC call: timed out in receiving a UDx message”。如果经常看到此错误,可以提高此限制值。以隔离模式运行的 UDx 不在服务器进程中运行,因此提高此值不会影响服务器性能。
默认值: 60
- UseLocalTzForParquetTimestampConversion
- 布尔值,指定读取 Parquet 文件时是否进行时区转换。Hive 版本 1.2.1 引入了一个选项,用于在写入 Parquet 文件时本地化时区。以前,它以 UTC 写入它们,而 Vertica 在读取文件时会调整值。
如果 Hive 已经调整了时区,则设置为 0。
默认值: 1(启用转换)
- UseServerIdentityOverUserIdentity
- 布尔值,指定是否忽略用户为非 Linux 文件系统提供的凭据,并始终使用 USER 存储位置来管理对数据的访问。请参阅创建供 USER 访问的存储位置。
默认值: 0(禁用)
- WithClauseMaterialization
- 布尔值,指定是否启用 WITH 子句实体化结果。启用实体化 (1) 时,Vertica 会对每个 WITH 子句进行一次评估并将结果存储在临时表中。
对于具有复杂类型的 WITH 查询,临时关系被禁用。
注意
您可以使用提示 ENABLE_WITH_CLAUSE_MATERIALIZATION 启用给定 WITH 子句的实体化。默认值: 0(禁用)
- WithClauseRecursionLimit
- 指定 WITH RECURSIVE 子句在退出之前迭代其自己的结果集内容的最大次数。有关详细信息,请参阅WITH 子句递归。
重要
请务必将 WithClauseRecursionLimit 设置为遍历最深层次结构所需的高度。Vertica 对此参数没有设置限制;但是,较高的值会产生相当大的开销,从而对性能产生不利影响并耗尽系统资源。
如果需要较高的递归计数,则考虑启用实体化。有关详细信息,请参阅 WITH RECURSIVE 实体化。
默认值: 8