常规参数

以下参数配置基本数据库操作。 查询 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_KEYSCOMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW 将数据类型分配给 Flex 表 __raw__ 列中的非字符串键时,是否启用更准确的类型猜测。如果禁用此参数 (0),Vertica 将使用一组有限的 Vertica 数据类型分配。例如,请参阅计算 Flex 表键

默认值: 1(启用)

EnableCooperativeParse
布尔值,指定是否对节点实施多线程解析功能。此参数可用于分隔的负载和固定宽度的负载。

默认值: 1(启用)

EnableForceOuter
布尔值,指定 Vertica 是否使用表的 force_outer 值来实施联接。有关详细信息,请参阅控制联接输入

默认值: 0(禁用强制联接输入)

EnableMetadataMemoryTracking
布尔值,指定是否允许 Vertica 跟踪 METADATA 资源池中数据库元数据使用的内存。

默认值: 1(启用)

EnableResourcePoolCPUAffinity
布尔值,指定 Vertica 是否根据处理 CPU 的资源池调整查询。禁用时 (0),查询将在任意 CPU 上运行,无论资源池的 CPU_AFFINITY_SET 为何。

默认值: 1

EnableStrictTimeCasts
指定是否所有转换失败都会导致错误。

默认值: 0(禁用)

EnableUniquenessOptimization
布尔值,指定是否启用可保证列值唯一性的查询优化。可保证具有唯一值的列包括:

默认值: 1(启用)

EnableWithClauseMaterialization
WithClauseMaterialization 取代。
ExternalTablesExceptionsLimit
确定当 SELECT 语句引用外部表时所允许的最大 COPY 异常和拒绝数。设置为 -1 可删除任何异常限制。请参阅查询外部表

默认值: 100

FailoverToStandbyAfter
指定活动备用节点等待多长时间后替换故障节点。

此参数设置为字面量类时间间隔

默认值:

FencedUDxMemoryLimitMB
设置隔离模式 UDF 可以使用的最大内存量(以兆字节 (MB) 为单位)。如果 UDF 尝试分配的内存超过此限制,则该尝试会触发一个异常。有关详细信息,请参阅隔离和非隔离模式

默认值: -1(无限制)

FlexTableDataTypeGuessMultiplier
指定为 flex 键表分配数据类型和列宽时 COMPUTE_FLEXTABLE_KEYSCOMPUTE_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 遭到系统阻拦。

默认值: 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 查询,临时关系被禁用。

默认值: 0(禁用)

WithClauseRecursionLimit
指定 WITH RECURSIVE 子句在退出之前迭代其自己的结果集内容的最大次数。有关详细信息,请参阅WITH 子句递归

默认值: 8