This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
New features
This guide briefly describes the new features introduced in the most recent releases of Vertica and provides references to detailed information in the documentation set.
This guide briefly describes the new features introduced in the most recent releases of Vertica and provides references to detailed information in the documentation set.
For known and fixed issues in the most recent release, see the Vertica Release Notes.
2 - Deprecated and removed functionality
Vertica retires functionality in two phases:.
Vertica retires functionality in two phases:
-
Deprecated: Vertica announces deprecated features and functionality in a major or minor release. Deprecated features remain in the product and are functional. Published release documentation announces deprecation on this page. When users access this functionality, it may return informational messages about its pending removal.
-
Removed: Vertica removes a feature in a major or minor release that follows the deprecation announcement. Users can no longer access the functionality, and this page is updated to verify removal (see History, below). Documentation that describes this functionality is removed, but remains in previous documentation versions.
Deprecated
No deprecated functionality in this release.
The following functionality was deprecated and will be removed in future versions:
Release |
Functionality |
Notes |
23.3.0 |
OAuthJsonConfig |
The functionality provided by OAuthJsonConfig will superseded by future parameters. |
23.3.0 |
DHParams |
|
Removed
The following functionality was removed:
History
The following functionality or support has been deprecated or removed as indicated:
Functionality |
Component |
Deprecated in: |
Removed in: |
DHParams |
Server |
23.3.0 |
|
OAuthJsonConfig and oauthjsonconfig |
Client drivers |
23.3.0 |
|
Visual Studio 2012, 2013, and 2015 plug-ins and the Microsoft Connectivity Pack |
Client drivers |
12.0.4 |
23.3.0 |
ADO.NET driver support for .NET 3.5 |
Client drivers |
12.0.3 |
|
prometheus.createServiceMonitor Helm chart parameter |
Kubernetes |
12.0.3 |
|
cert-manager for Helm chart TLS configuration |
Kubernetes |
12.0.2 |
23.3.0 |
Use webhook.certSource parameter to generate certificates internally or provide custom certificates. See Helm chart parameters. |
Kubernetes |
12.0.2 |
|
vsql support for macOS 10.12-10.14 |
Client drivers |
|
12.0.3 |
CA bundles |
Security |
12.0.2 |
|
The following parameters for CREATE NOTIFIER and ALTER NOTIFIER:
-
TLSMODE
-
CA BUNDLE
-
CERTIFICATE
|
Security |
12.0.2 |
|
The TLSMODE PREFER parameter for CONNECT TO VERTICA. |
Security |
12.0.2 |
|
JDBC 4.0 and 4.1 support |
Client drivers |
12.0.2 |
|
Support for Visual Studio 2008 and 2010 plug-ins |
Client drivers |
12.0.2 |
12.0.3 |
Internet Explorer 11 support |
Management Console |
|
12.0.1 |
ODBC support for macOS 10.12-10.14 |
Client drivers |
|
12.0 |
The following ODBC/JDBC OAuth parameters:
-
OAuthAccessToken/oauthaccesstoken
-
OAuthRefreshToken/oauthrefreshtoken
-
OAuthClientId/oauthclientid
-
OAuthClientSecret/oauthclientsecret
-
OAuthTokenUrl/oauthtokenurl
-
OAuthDiscoveryUrl/oauthdiscoveryurl
-
OAuthScope/oauthscope
|
Client drivers |
12.0 |
|
hive_partition_cols parameter for PARQUET and ORC parsers |
Server |
12.0 |
|
The following ODBC/JDBC OAuth parameters:
-
OAuthAccessToken/oauthaccesstoken
-
OAuthRefreshToken/oauthrefreshtoken
-
OAuthClientId/oauthclientid
-
OAuthClientSecret/oauthclientsecret
-
OAuthTokenUrl/oauthtokenurl
-
OAuthDiscoveryUrl/oauthdiscoveryurl
-
OAuthScope/oauthscope
|
Client drivers |
12.0 |
|
INFER_EXTERNAL_TABLE_DDL function |
Server |
11.1.1 |
|
Admission Controller Webhook image |
Kubernetes |
11.0.1 |
11.0.2 |
Admission Controller Helm chart |
Kubernetes |
11.0.1 |
|
Shared DATA and DATA,TEMP storage locations |
Server |
11.0.1 |
|
DESIGN_ALL option for EXPORT_CATALOG() |
Server |
11.0 |
|
HDFSUseWebHDFS configuration parameter and LibHDFS++ |
Server |
11.0 |
|
INFER_EXTERNAL_TABLE_DDL (path, table) syntax |
Server |
11.0 |
11.1.1 |
AWS library functions:
-
AWS_GET_CONFIG
-
AWS_SET_CONFIG
-
S3EXPORT
-
S3EXPORT_PARTITION
|
Server |
11.0 |
12.0 |
Vertica Spark connector V1 |
Client |
11.0 |
|
admintools db_add_subcluster --is-secondary argument |
Server |
11.0 |
|
Red Hat Enterprise Linux/CentOS 6.x |
Server |
10.1.1 |
11.0 |
STRING_TO_ARRAY(array,delimiter) syntax |
Server |
10.1.1 |
|
Vertica JDBC API com.vertica.jdbc.kv package |
Client Drivers |
10.1 |
|
ARRAY_CONTAINS function |
Server |
10.1 |
|
Client-server TLS parameters:
-
SSLCertificate
-
SSLPrivateKey
-
SSLCA
-
EnableSSL
LDAP authentication parameters:
-
tls_key
-
tls_cert
-
tls_cacert
-
tls_reqcert
LDAPLink and LDAPLink dry-run parameters:
-
LDAPLinkTLSCACert
-
LDAPLinkTLSCADir
-
LDAPLinkStartTLS
-
LDAPLinkTLSReqCert
|
Server |
10.1 |
11.0 |
MD5 hashing algorithm for user passwords |
Server |
10.1 |
|
Reading structs from ORC files as expanded columns |
Server |
10.1 |
11.0 |
vbr configuration section [S3] and S3 configuration parameters |
Server |
10.1 |
|
flatten_complex_type_nulls parameter to the ORC and Parquet parsers |
Server |
10.1 |
11.0 |
System table WOS_CONTAINER_STORAGE |
Server |
10.0.1 |
11.0.2 |
skip_strong_schema_match parameter to the Parquet parser |
Server |
10.0.1 |
10.1 |
Specifying segmentation on specific nodes |
Server |
10.0.1 |
|
DBD meta-function DESIGNER_SET_ANALYZE_CORRELATIONS_MODE |
Server |
10.0.1 |
11.0.1 |
Meta-function ANALYZE_CORRELATIONS |
Server |
10.0 |
|
Eon Mode meta-function BACKGROUND_DEPOT_WARMING |
Server |
10.0 |
|
Reading structs from Parquet files as expanded columns |
Server |
10.0 |
10.1 |
Eon Mode meta-functions:
-
SET_DEPOT_PIN_POLICY
-
CLEAR_DEPOT_PIN_POLICY
|
Server |
10.0 |
10.1 |
vbr configuration parameter SnapshotEpochLagFailureThreshold |
Server |
10.0 |
|
Array-specific functions:
-
array_min
-
array_max
-
array_sum
-
array_avg
|
Server |
10.0 |
10.1 |
DMLTargetDirect configuration parameter |
Server |
10.0 |
|
HiveMetadataCacheSizeMB configuration parameter |
Server |
10.0 |
10.1 |
MoveOutInterval |
Server |
10.0 |
|
MoveOutMaxAgeTime |
Server |
10.0 |
|
MoveOutSizePct |
Server |
10.0 |
|
Windows 7 |
Client Drivers |
|
9.3.1 |
DATABASE_PARAMETERS admintools command |
Server |
9.3.1 |
|
Write-optimized store (WOS) |
Server |
9.3 |
10.0 |
7.2_upgrade vbr task |
Server |
9.3 |
|
DropFailedToActivateSubscriptions configuration parameter |
Server |
9.3 |
10.0 |
--skip-fs-checks |
Server |
9.2.1 |
|
32-bit ODBC Linux and OS X client drivers |
Client |
9.2.1 |
9.3 |
Vertica Python client |
Client |
9.2.1 |
10.0 |
macOS 10.11 |
Client |
9.2.1 |
|
DisableDirectToCommunalStorageWrites configuration parameter |
Server |
9.2.1 |
|
CONNECT_TO_VERTICA meta-function |
Server |
9.2.1 |
9.3 |
ReuseDataConnections configuration parameter |
Server |
9.2.1 |
9.3 |
Network interfaces (superseded by network addresses) |
Server |
9.2 |
|
Database branching |
Server |
9.2 |
10.0 |
KERBEROS_HDFS_CONFIG_CHECK meta-function |
Server |
9.2 |
|
Java 5 support |
JDBC Client |
9.2 |
9.2.1 |
Configuration parameters for enabling projections with aggregated data:
-
EnableExprsInProjections
-
EnableGroupByProjections
-
EnableTopKProjections
-
EnableUDTProjections
|
Server |
9.2 |
|
DISABLE_ELASTIC_CLUSTER() |
Server |
9.1.1 |
11.0 |
eof_timeout parameter of KafkaSource |
Server |
9.1.1 |
9.2 |
Windows Server 2012 |
Server |
9.1.1 |
|
Debian 7.6, 7.7 |
Client driver |
9.1.1 |
9.2.1 |
IdolLib function library |
Server |
9.1 |
9.1.1 |
SSL certificates that contain weak CA signatures such as MD5 |
Server |
9.1 |
|
HCatalogConnectorUseLibHDFSPP configuration parameter |
Server |
9.1 |
|
S3 UDSource |
Server |
9.1 |
9.1.1 |
HCatalog Connector support for WebHCat |
Server |
9.1 |
|
partition_key column in system tables STRATA and STRATA_STRUCTURES |
Server |
9.1 |
10.0.1 |
Vertica Pulse |
Server |
9.0.1 |
9.1.1 |
Support for SQL Server 2008 |
Server |
9.0.1 |
9.0.1 |
SUMMARIZE_MODEL meta-function |
Server |
9.0 |
9.1 |
RestrictSystemTable parameter |
Server |
9.0.1 |
|
S3EXPORT multipart parameter |
Server |
9.0 |
|
EnableStorageBundling configuration parameter |
Server |
9.0 |
|
Machine Learning for Predictive Analytics package parameter key_columns for data preparation functions. |
Server |
9.0 |
9.0.1 |
DROP_PARTITION meta-function, superseded by DROP_PARTITIONS |
Server |
9.0 |
|
Machine Learning for Predictive Analytics package parameter owner . |
Server |
8.1.1 |
9.0 |
Backup and restore --setupconfig command |
Server |
8.1 |
9.1.1 |
SET_RECOVER_BY_TABLE meta-function. Do not disable recovery by table. |
Server |
8.0.1 |
|
Column rebalance_projections_status.duration_sec |
Server |
8.0 |
|
HDFS Connector |
Server |
8.0 |
9.0 |
Prejoin projections |
Server |
8.0 |
9.2 |
Administration Tools option --compat21 |
Server |
7.2.1 |
|
admin_tools -t config_nodes |
Server |
7.2 |
11.0.1 |
Projection buddies with inconsistent sort order |
Server |
7.2 |
9.0 |
backup.sh |
Server |
7.2 |
9.0 |
restore.sh |
Server |
7.2 |
9.0 |
copy_vertica_database.sh |
Server |
7.2 |
|
JavaClassPathForUDx configuration parameter |
Server |
7.1 |
|
ADD_LOCATION meta-function |
Server |
7.1 |
|
bwlimit configuration parameter |
Server |
7.1 |
9.0 |
vbr configuration parameters retryCount and retryDelay |
Server |
7.1 |
11.0 |
EXECUTION_ENGINE_PROFILE counters: file handles, memory allocated |
Server |
7.0 |
9.3 |
EXECUTION_ENGINE_PROFILES counter memory reserved |
Server |
7.0 |
|
MERGE_PARTITIONS() meta-function |
Server |
7.0 |
|
krb5 client authentication method
Note
Use the Kerberos gss method for client authentication, instead of krb5.
|
All clients |
7.0 |
|
range-segmentation-clause |
Server |
6.1.1 |
9.2 |
scope parameter of meta-function CLEAR_PROFILING |
Server |
6.1 |
|
Projection creation type IMPLEMENT_TEMP_DESIGN |
Server, clients |
6.1 |
|
3 - New and changed in Vertica 23.3
3.1 - Client connectivity
Workload routing lets you create rules for routing client connections to particular subclusters based on their workloads.
Workload routing
Workload routing lets you create rules for routing client connections to particular subclusters based on their workloads.
The primary advantages of this type of load balancing is as follows:
- Database administrators can associate certain subclusters with certain workloads (as opposed to client IP addresses).
- Clients do not need to know anything about the subcluster they will be routed to, only the type of workload they have.
- Database administrators can change workload routing policies at any time, and these changes are transparent to all clients.
For details, see Workload routing.
3.2 - Client drivers
When loading data with a COPY or prepared statement for an INSERT, SQLGetDiagRec() now returns the diagnostic information for the first 50 failures.
ODBC: Improved row error reporting
When loading data with a COPY or prepared statement for an INSERT, SQLGetDiagRec()
now returns the diagnostic information for the first 50 failures. Previously, SQLGetDiagRec()
only returned the diagnostic information for the first failure.
For details, see Tracking load status (ODBC).
ADO.NET: Linux and macOS support
The ADO.NET driver is now available on NuGet.org for all platforms: Windows, Linux, and macOS. To use it, you must first install .NET Core 3.1+ (.NET 6.0 recommended).
Cross-platform support for this driver also brings the following changes for the ADO.NET client driver 23.3.0 and above:
- Logging is now configured with
Vertica.Data.dll.config
, rather than with HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\ADO.NET\Driver
in the Windows registry. Existing configurations in HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\ADO.NET\Driver
are automatically migrated to Vertica.Data.dll.config
. For details, see Log properties.
- To use the driver, you can now reference it in your project, rather than registering it in .NET Core. For details, see Installing the ADO.NET client driver.
- Kerberos is currently only supported on Windows.
For installation and usage details, see Installing the ADO.NET client driver.
3.3 - Complex types
New features related to complex types.
DEFAULT and SET USING
Columns of scalar types in tables that also contain columns of complex types can now use the DEFAULT and SET USING options. See CREATE TABLE and ALTER TABLE.
Columns of complex types are still restricted from using these options.
Parquet loose schema matching
The PARQUET parser do_soft_schema_match_by_name
option now supports complex types.
Joins for EXPLODE and UNNEST
You can use the output of EXPLODE and UNNEST as if it were a relation in a query. In addition to CROSS JOIN, you can now use LEFT JOIN to include NULL results, as in the following example:
=> ALTER SESSION SET UDPARAMETER FOR ComplexTypesLib skip_partitioning = true;
=> SELECT student, MIN(score), AVG(score) FROM tests
LEFT JOIN LATERAL EXPLODE(scores) AS t (pos, score)
GROUP BY student;
student | MIN | AVG
---------+-----+------------------
Bob | 78 | 83
Lee | |
Pat | |
Sam | 85 | 93.3333333333333
Tom | 68 | 79
(5 rows)
The LATERAL keyword is required with LEFT JOIN. It is optional for CROSS JOIN.
3.4 - Containers and Kubernetes
New features related to containerized Vertica.
HTTP service configuration
The httpServerMode
custom resource definition parameter controls whether the Vertica server starts its HTTP server.
For details, see Custom resource definition parameters.
Custom HTTP port
The subclusters[i].httpNodePort
custom resource definition parameter lets you set a custom port for external HTTPS connections when subclusters[i].serviceType
is set to NodePort
.
For details, see Custom resource definition parameters.
Prometheus server metrics
Vertica on Kubernetes now exposes server metrics with the HTTPS service. After you configure the HTTPS service to accept client requests, you can export time series metrics for data reporting and visualization.
For details, see the following:
3.5 - Data export and replication
New features for data export and replication: server-based replication.
Server-based replication
Server-based replication copies data from one Eon Mode database to another. Data is copied directly from the source database's communal storage location to the target database's communal storage location. Unlike vbr
-based replication, server-based replication supports replication across platforms and between databases with different node counts.
Usually, you use server-based replication to keep a table or schema in the target database up to date with a corresponding table or schema in the source database. Replication automatically determines what has changed in the source database and only transfers those changes to the target database. For more information, see Server-based replication.
3.6 - Database management
You can now manage your Vertica database with the Node Management Agent (NMA).
Node Management Agent
You can now manage your Vertica database with the Node Management Agent (NMA). The NMA provides a REST API for administrating your nodes, which can be easier to integrate with and use in cases where you cannot use ssh
to connect to a Vertica node.
The current iteration of the NMA is suitable for basic and general cluster management tasks. Future versions will add endpoints and utilities to support more complex workflows.
For details, see Node Management Agent.
HTTPS service
You can now manage your Vertica database with the HTTPS service. The HTTPS service provides a REST API for managing your database and accessing server, cluster, and host metrics in Prometheus exposition format.
The HTTPS service requires that you configure mutual mode TLS (mTLS). For details, see HTTPS service.
3.7 - Eon mode
New features related to Eon mode.
Add additional subclusters to sandboxes
You can now add and remove additional secondary subclusters to existing sandboxes. For details, see Adding subclusters to existing sandboxes and Removing a sandbox's secondary subclusters.
3.8 - File exporters
Changes to EXPORT TO statements.
EXPORT TO statements can overwrite or append to directories
If the target directory for export exists, you can use the ifDirExists
parameter to EXPORT TO PARQUET, EXPORT TO ORC, EXPORT TO JSON, and EXPORT TO DELIMITED to overwrite or append new files to the existing directory.
3.9 - Loading data
New features for loading data: Iceberg schema evolution.
Iceberg schema evolution
Vertica can now read Apache Iceberg tables that have undergone the following types of schema evolution:
- Changed column types
- Added or dropped columns
- Added or dropped struct fields
See CREATE EXTERNAL TABLE ICEBERG.
3.10 - Machine learning
New machine learning features available in Vertica 23.3.0
Expanded PMML support
Vertica now supports additional PMML tags and attributes, including the FieldRef and LocalTransformations tags. For a list of all supported PMML model types, tags, sub-tags, and attributes, see PMML features and attributes.
Complex type support for imported TensorFlow models
The PREDICT_TENSORFLOW_SCALAR function makes predictions with imported TensorFlow models that have complex type input and output columns. This function accepts and outputs a single ROW, where each field in the ROW contains a 1D ARRAY tensor. For details, see the function reference page and TensorFlow integration and directory structure.
To use this function with an imported TensorFlow model, you must use a column-type
argument of 1 when calling the freeze_tf2_model.py
script. For more information, see tf_model_desc.json overview.
3.11 - Management Console
New features for the Vertica Management Console.
User authentication with Keycloak
The Management Console (MC) integrates with Keycloak to authenticate user accounts. The MC provides the following authentication options to integrate with your corporate identity management workflows:
- Local: User account information is stored and managed within the MC.
- Federated: Authenticate MC user accounts with information that is stored in a federated LDAP or LDAPS server.
- Identity Provider (IDP): Authenticate MC user accounts with information that is managed by an IDP.
For details, see Users, roles, and privileges in MC.
3.12 - Projections
In previous releases, new and updated projections were not available to queries before they were completely refreshed with all table data. This delayed availability of projections to process query requests.
Now, when you refresh the projections of a partitioned table—for example, a new projection of a table with existing data—the refresh operation first loads data from the partition with the highest range of keys. After refreshing this partition, Vertica begins to refresh the partition with next highest partition range. This process continues until all projection partitions are refreshed. In the meantime, while the refresh operation is in progress, projection partitions that have completed the refresh process become available to process query requests.
3.13 - Security and Authentication
New features for security and authentication in 23.3.0
Single sign-on (SSO) for ODBC OAuth
The Vertica ODBC driver can now automatically open your web browser and direct you to Keycloak's authentication endpoint to sign in with SSO. This method of authenticating with the identity provider is an alternative to manually retrieving the OAuthAccessToken from the various endpoints.
This functionality is currently limited to Keycloak. For details, see Retrieving an access token.
Simplified control channel Spread TLS
Vertica nodes use the control channel to communicate. You can secure this communication channel with TLS by enabling EncryptSpreadComm. You can now also set EncryptSpreadComm when you create the database. Previously, you could only set this parameter on a running database with ALTER DATABASE.
For details, see Control channel Spread TLS.
3.14 - SQL functions and statements
SET SESSION AUTHORIZATION for current session
The SET SESSION AUTHORIZATION
statement changes the current and session user for the current SQL session. Changing the session is helpful for testing and debugging purposes.
For details, see SET SESSION AUTHORIZATION.
3.15 - Stored procedures
New features for stored procedures in 23.3.0
Nested stored procedures
You can now call stored procedures and execute meta-functions from inside other stored procedures. For details, see Nested stored procedures.
Transaction semantics
Stored procedures now only automatically commit after successful execution of the entire stored procedure, including any nested stored procedures. You can also manually commit with PERFORM COMMIT. For details, see Transaction semantics.
Previously, stored procedures committed the transaction before executing, and each embedded SQL statement executed in its own autocommitted transaction.
Session semantics
Stored procedures now support session semantics. All session-based changes made in a stored procedure persist after execution.
3.16 - Users and privileges
Machine learning models can now inherit the privileges of its parent schema.
Inherited privileges for models
Machine learning models can now inherit the privileges of its parent schema. Inherited privileges can be enabled at the model level and materialized into explicit grants with ALTER MODEL.
This feature can be disabled with DisableInheritedPrivileges, which disables privilege inheritance at the database level.