General Parameters

You use these general parameters to configure Vertica. Query system table CONFIGURATION_PARAMETERS to determine what levels (node, session, database) are valid for given parameter.

Parameter Description

AnalyzeRowCountInterval

Specifies how often Vertica checks the number of projection rows and whether the threshold set by ARCCommitPercentage has been crossed.

For more information, see Collecting Database Statistics.

Default: 86400 seconds (24 hours)

ApplyEventsDuringSALCheck

Boolean, specifies whether Vertica uses catalog events to filter out dropped corrupt partitions during node startup. Dropping corrupt partitions can speed node recovery.

When disabled (0), Vertica reports corrupt partitions, but takes no action. Leaving corrupt partitions in place can reset the current projection checkpoint epoch to the epoch before the corruption occurred.

This parameter has no effect on unpartitioned tables.

Default: 0

ApportionedFileMinimumPortionSizeKB

Specifies the minimum portion size (in kilobytes) for use with apportioned file loads.  Vertica apportions a file load across multiple nodes only if:

  • The load can be divided into portions at least equaling this value.
  • EnableApportionedFileLoad and EnableApportionLoad are set to 1 (enabled).

See also EnableApportionLoad and EnableApportionedFileLoad.

Default: 1024

ARCCommitPercentage

Sets the threshold percentage of WOS to ROS rows, which determines when to aggregate projection row counts and commit the result to the catalog. Vertica performs this action when the WOS to ROS percentage exceeds this setting.

Default: 3 (percent)

BlockedSocketGracePeriod

Sets how long a session socket remains blocked while awaiting client input or output for a given query. See Handling Session Socket Blocking.

Default: None (Socket blocking can continue indefinitely.)

CatalogCheckpointPercent

Specifies the threshold at which a checkpoint is created for the database catalog.

By default, this parameter is set to 50 (percent), so when transaction logs reach 50% of the size of the last checkpoint, Vertica adds a checkpoint. Each checkpoint demarcates all changes to the catalog since the last checkpoint.

Default: 50 (percent)

ClusterSequenceCacheMode

Boolean, specifies whether the initiator node requests cache for other nodes in a cluster, and then sends cache to other nodes along with the execution plan, one of the following.

  • 1 (enabled): Initiator node requests cache.
  • 0: (disabled): All nodes request their own cache.

See Distributing Named Sequences.

Default: 1 (enabled)

CompressCatalogOnDisk

Specifies whether to compress the size of the catalog on disk, one of the following:

  • 0: Do not compress.
  • 1: Compress checkpoints, but not logs.
  • 2: Compress checkpoints and logs.

Consider enabling this parameter if the catalog disk partition is small (<50 GB) and the metadata is large (hundreds of tables, partitions, or nodes).

Default: 0

CompressNetworkData

Boolean, specifies whether to compress all data sent over the internal network when enabled (set to 1). This compression speeds up network traffic at the expense of added CPU load. If the network is throttling database performance, enable compression to correct the issue.

Default: 0

CopyFaultTolerantExpressions

Boolean, indicates whether to report record rejections during transformations and proceed (true) or abort COPY operations if a transformation fails.

Default: 0 (false)

CopyFromVerticaWithIdentity

Allows COPY FROM VERTICA and EXPORT TO VERTICA to load values into Identity (or Auto-increment) columns. The destination Identity column is not incremented automatically. To disable the default behavior, set this parameter to 0 (zero).

Default: 1

DatabaseHeartBeatInterval

Determines the interval (in seconds) at which each node performs a health check and communicates a heartbeat. If a node does not receive a message within five times of the specified interval, the node is evicted from the cluster. Setting the interval to 0 disables the feature.

See Automatic Eviction of Unhealthy Nodes.

Default: 120

DefaultTempTableLocal

Boolean, specifies whether CREATE TEMPORARY TABLE creates a local or global temporary table, one of the following:

  • 0: Create global temporary table.
  • 1: Create local temporary table.

For details, see Creating Temporary Tables.

Default: 0

DivideZeroByZeroThrowsError

Boolean, specifies whether to return an error if a division by zero operation is requested:

  • 0: Return 0.
  • 1: Returns an error.

Default: 1

DMLTargetDirect

Boolean, specifies whether to write data directly to ROS, bypassing WOS:

  • 0 (enable): Use load method of AUTO.
  • 1 (disable): Write data directly to ROS, bypassing WOS.

If you disable this property in a Vertica release ≥ 9.3, be sure to configure the WOSDATA and TM resource pools.

Default:

  • 1: Database created in Vertica release ≥ 9.3
  • 0: Database created in Vertica release < 9.3
EnableApportionedChunkingInDefaultLoadParser

Boolean, specifies whether to enable the built-in parser for delimited files to take advantage of both apportioned load and cooperative parse for potentially better performance.

Default: 1 (enable)

EnableApportionedFileLoad

Boolean, specifies whether to enable automatic apportioning across nodes of file loads using COPY FROM VERTICA. Vertica attempts to apportion the load if:

  • This parameter and EnableApportionLoad are both enabled.
  • The parser supports apportioning.
  • The load is divisible into portion sizes of at least the value of ApportionedFileMinimumPortionSizeKB.

Setting this parameter does not guarantee that loads will be apportioned, but disabling it guarantees that they will not be.

See Using Parallel Load Streams.

Default: 1 (enable)

EnableApportionLoad

Boolean, specifies whether to enable automatic apportioning across nodes of data loads using COPY…WITH SOURCE. Vertica attempts to apportion the load if:

  • This parameter is enabled.
  • The source and parser both support apportioning.

Setting this parameter does not guarantee that loads will be apportioned, but disabling it guarantees that they will not be.

For details, see Using Parallel Load Streams.

Default: 1 (enable)

EnableBetterFlexTypeGuessing

Boolean, specifies whether to enable more accurate type guessing when assigning data types to non-string keys in a flex table __raw__ column with COMPUTE_FLEXTABLE_KEYS or COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW. If this parameter is disabled (0), Vertica uses a limited set of Vertica data type assignments.

For details, see Setting Flex Table Configuration Parameters.

Default: 1 (enable)

EnableCooperativeParse

Boolean, specifies whether to implement multi-threaded parsing capabilities on a node. You can use this parameter for both delimited and fixed-width loads.

Default: 1 (enable)

EnableDataTargetParallelism

Boolean, specifies whether to enable multiple threads for sorting and writing data to ROS, improving data loading performance.

Default: 1 (enable)

EnableForceOuter

Boolean, specifies whether Vertica uses a table's force_outer value to implement a join. For more information, see Controlling Join Inputs.

Default: 0 (forced join inputs disabled)

EnableMetadataMemoryTracking

Boolean, specifies whether to enable Vertica to track memory used by database metadata in the METADATA resource pool.

Default: 1 (enable)

EnableResourcePoolCPUAffinity

Boolean, specifies whether Vertica aligns queries to the resource pool of the processing CPU. When disabled (0), queries run on any CPU, regardless of the CPU_AFFINITY_SET of the resource pool.

Default: 1

EnableStorageBundling

(Deprecated) Boolean, specifies whether to enable storing multiple ROS containers as a single file. Each ROS must be less than the size specified in MaxBundleableROSSizeKB. In environments with many small storage files, bundling improves the performance of any file-intensive operations, including backups, restores, mergeouts and moveouts.

Default: 1 (enable)

EnableUniquenessOptimization

Boolean, specifies whether to enable query optimization that is based on guaranteed uniqueness of column values. Columns that can be guaranteed to include unique values include:

Default: 1 (enable)

EnableWithClauseMaterialization

Superseded by WithClauseMaterialization.

ExternalTablesExceptionsLimit

Determines the maximum number of COPY exceptions and rejections allowed when a SELECT statement references an external table. Set to -1 to remove any exceptions limit. See Querying External Tables.

Default: 100

FailoverToStandbyAfter

Specifies the length of time that an active standby node waits before taking the place of a failed node.

This parameter is set to an interval literal.

Default: None

FencedUDxMemoryLimitMB

Sets the maximum amount of memory, in megabytes (MB), that a fenced-mode UDF can use. If a UDF attempts to allocate more memory than this limit, that attempt triggers an exception. For more information, see Fenced Mode.

Default: -1 (no limit)

FlexTableDataTypeGuessMultiplier

Specifies a multiplier that the COMPUTE_FLEXTABLE_KEYS and COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW functions use when assigning a data type and column width for the flex keys table. Both functions assign each key a data type, and multiply the longest key value by this factor to estimate column width.

Any value that results in a column width neither less than 20 bytes nor greater than FlexTableRawSize. This range is a cap to round sizes up or down, accordingly.

See Setting Flex Table Configuration Parameters.

Default: 2.0: The column width multiplier. Must be a value in the following range:

FlexTableRawSize

Specifies the default column width for the __raw__ column of new flex tables, a value between 1 and 32000000, inclusive.

Default: 130000

HiveMetadataCacheSizeMB

Sets the maximum memory to use when caching metadata during Parquet reads, either when querying external tables or when bulk-loading data. Caching is especially helpful when the data contains many small row groups.

Increasing the size of this cache can improve performance but consumes more memory. Disabling the cache reduces memory consumption and makes more calls to the file system to read this data.

Default: 0 (disable)

JavaBinaryForUDx

Sets the full path to the Java executable that Vertica uses to run Java UDxs. See Installing Java on Vertica Hosts in Extending Vertica.

JavaClassPathForUDx

Sets the Java classpath for the JVM that executes Java UDxs. This parameter must list all directories containing JAR files that Java UDxs import.

See Handling Java UDx Dependencies in Extending Vertica.

Default: ${vertica_home}/packages/hcat/lib/*

JoinDefaultTupleFormat

Specifies how to size VARCHAR column data when joining tables on those columns, and buffers accordingly, one of the following:

  • fixed: Use join column metadata to size column data to a fixed length, and buffer accordingly.
  • variable: Use the actual length of join column data, so buffer size varies for each join.

Default: fixed

LockTimeout

Specifies in seconds how long a table can be locked. You can set this parameter at all levels: session, node, and database.

Default: 300

MaxAutoSegColumns

Specifies the number of columns (0 –1024) to use in an auto-projection's hash segmentation clause. Set to 0 to use all columns.

Default: 8

MaxAutoSortColumns

Specifies the number of columns (0 –1024) to use in an auto-projection's sort expression. Set to 0 to use all columns.

Default: 8

MaxBundleableROSSizeKB

Specifies the minimum size, in kilobytes, of an independent ROS file. When EnableStorageBundling is true, Vertica bundles storage container ROS files below this size into a single file. Bundling improves the performance of any file-intensive operations, including backups, restores, mergeouts and moveouts.

If you enable storage bundling and specify this parameter with a value of 0, Vertica bundles .fdb and .pidx files without bundling other storage container files.

Default: 1024

MaxClientSessions

Determines the maximum number of client sessions that can run on a single node of the database. The default value allows for five additional administrative logins. These logins prevent DBAs from being locked out of the system if non-dbadmin users reach the login limit.

Setting this parameter to 0 prevents new client sessions from being opened while you are shutting down the database. Restore the parameter to its original setting after you restart the database. For details, see Managing Sessions.

Default: 50 user logins and 5 additional administrative logins

MaxTieredPoolScale

Specifies the threshold for allocating chunks of memory from the system or dedicated pools for Vertica system components—for example, for WOS containers. Above this threshold, Vertica allocates memory from the system (malloc), and returns it when no longer needed. Below this threshold, Vertica allocates memory from dedicated pools (talloc), which manage smaller memory allocations more efficiently.

Tiered memory management facilitates more efficient use of resources, and minimizes the risk of any one process (such as the database catalog) from preemptively allocating and retaining excessive amounts of memory.

Set this parameter to the desired power of 2, any value ≥ 20. For example, for 128 MB, set the parameter to 27 (2^27).

This parameter cannot be set below 20 (1MB). Any allocation that is less than 20 always uses talloc, regardless of this parameter setting. This parameter must be set at the database level, and takes effect only on database restart.

Default: 27 (128 MB)

PatternMatchAllocator

Overrides the heap memory allocator for the pattern-match library when set to 1. The Perl Compatible Regular Expressions (PCRE) pattern-match library evaluates regular expressions. Restart the database for this parameter to take effect.

See also Regular Expression Functions.

Default: 0

PatternMatchingUseJit

Boolean, specifies whether to enables just-in-time compilation (to machine code) of regular expression pattern matching functions used in queries. Enabling this parameter can usually improve pattern matching performance on large tables. The Perl Compatible Regular Expressions (PCRE) pattern-match library evaluates regular expressions. Restart the database for this parameter to take effect.

See also Regular Expression Functions.

Default: 1 (enable)

PcreJitStackMaxSizeScaleFactor

Determines the maximum size of the Perl Compatible Regular Expressions (PCRE) just-in-time stack. The maximum stack size will be PcreJitStackMaxSizeScaleFactor * 1024 * 1024 bytes.

Default: 32

PatternMatchStackAllocator

Boolean, specifies whether to override the stack memory allocator for the pattern-match library. The Perl Compatible Regular Expressions (PCRE) pattern-match library evaluates regular expressions. Restart the database for this parameter to take effect.

See also Regular Expression Functions.

Default: 1 (enable override)

SegmentAutoProjection

Boolean, specifies whether auto-projections are segmented by default.

Default: 1 (enable)

TerraceRoutingFactor

Specifies a value large enough that it cannot be enabled by default, even for the largest clusters. Use the Terrace Routing equation to find the appropriate value for your cluster.

See also Terrace Routing.

Default: 1000.0

TransactionIsolationLevel

Changes the isolation level for the database. After modification, Vertica uses the new transaction level for every new session. Existing sessions and their transactions continue to use the original isolation level.

See also Change Transaction Isolation Levels.

Default: READ COMMITTED

TransactionMode

Specifies whether transactions are in read/write or read-only modes. Read/write is the default. Existing sessions and their transactions continue to use the original isolation level.

Default: READ WRITE

UDxFencedBlockTimeout

Specifies the number of seconds to wait for output before aborting a UDx running in Fenced Mode. If the server aborts a UDx for this reason, it produces an error message similar to "ERROR 3399: Failure in UDx RPC call: timed out in receiving a UDx message". If you see this error frequently, you can increase this limit. UDxs running in fenced mode do not run in the server process, so increasing this value does not impede server performance.

Default: 60

UseLocalTzForParquetTimestampConversion

Boolean, specifies whether to do timezone conversion when reading Parquet files. Hive version 1.2.1 introduced an option to localize timezones when writing Parquet files. Previously it wrote them in UTC and Vertica adjusted the value when reading the files.

Set to 0 if Hive already adjusted the timezones.

Default: 1 (enable conversion)

WithClauseMaterialization

Boolean, specifies whether to enable materialization of WITH clause results. When materialization is enabled (1), Vertica evaluates each WITH clause once and stores results in a temporary table.

Default: 0 (disable)