Supported Datasources
Velocity supports the following databases, tested against the two most recent major versions and their latest minor releases. While earlier minor versions may work correctly, they are not officially tested and unexpected differences may occur.
Version Support Policy
Major Versions: Only the two most recent major versions are supported per database vendor. Earlier major versions are not supported, and usage is at your own risk.
Minor Versions: Testing focuses on the latest minor release of each supported major version. We will assist customers using earlier minor versions on a best-effort basis, but cannot guarantee full compatibility.
Special Cases:
- SQLite: Supporting the version bundled with Microsoft.Data.SQLite; only the most recent SQLite version at time of release is supported.
Databases
| Vendor | Database | Version | Release | Date |
|---|---|---|---|---|
| IBM | DB2 LUW | 11.5 | MOD 9 Fix Pack 0 | 15 Nov 2023 |
| IBM | DB2 LUW | 12.1 | MOD 3 Fix Pack 0 | 10 Nov 2025 |
| Oracle | MySQL | 8.4 | 6 | 22 July 2025 |
| Oracle | MySQL | 9.5 | 0 | 10 October 2025 |
| Oracle | Database 19c | 19.1 | LTR | 25 Apr 2019 |
| Oracle | Database 23ai | 23.4 | LTR | 02 May 2024 |
| PostgreSQL Global Development Group | PostgreSQL | 17.7 | 2 | 13 Nov 2025 |
| PostgreSQL Global Development Group | PostgreSQL | 18.1 | 2 | 13 Nov 2025 |
| Microsoft | SQL Server 2022 | 16.0 | CU 23 | 15 Jan 2026 |
| Microsoft | SQL Server 2025 | 17.0 | CU 32 | 16 Jan 2026 |
| SQLite Consortium | SQLite | 3.49 | 1 | 07 Mar 2025 |
| Teradata | Vantage | 17.20 | 3.2 | 01 June 2022 |
| Teradata | Vantage | 20.0 | 1.0 | 01 June 2025 |
Setup Prerequisites
Installing and configuring database management systems is outside the scope of Velocity documentation. Refer to vendor documentation for installation instructions.
The following sections provide database-specific configuration requirements to ensure optimal Velocity functionality, including user creation, permissions, and feature enablement.
DB2
Installation Requirements
When installing DB2 server, ensure these features are selected under Server support:
- Spatial Extender server support
- DB2 Text Search
Create Database and User
Create a database for Velocity with spatial and full-text indexing capabilities enabled. This example assumes you have already created an operating system user for Velocity.
The following commands create a database, grant necessary permissions, and enable both spatial and full-text indexing features.
Run in the DB2 Command Line Processor:
CREATE DATABASE my_database;
CONNECT TO my_database;
GRANT DBADM ON DATABASE TO USER my_user;
GRANT ROLE SYSTS_MGR TO USER my_user;
GRANT EXECUTE ON PROCEDURE SYSPROC.SYSTS_CREATE TO my_user;
Run in the DB2 Command Window as separate commands:
db2se enable_db my_database
db2ts ENABLE DATABASE FOR TEXT CONNECT TO my_database
Important: Ensure the DB2TS service is running on the server to enable full-text indexing.
MySQL
Configuration
MySQL does not require pre-creating a database, as it treats databases similarly to what Velocity calls schemas.
Note
MySQL documentation often uses "DATABASE" to refer to what Velocity defines as a "SCHEMA."
Enable remote data loading:
Add the following line to my.ini (Windows) or my.cnf (Linux) in the [mysqld] section:
local_infile=ON
This enables loading data from remote locations, which is required for Velocity's data import functionality. Restart MySQL after making this change.
Create User
Run in MySQL Workbench, MySQL Shell, or the Command Line Client:
CREATE USER 'my_user' IDENTIFIED BY 'my_password';
GRANT ALL ON *.* TO 'my_user';
Oracle
Create Database and User
Oracle database creation is outside the scope of this guide. Typically, the installation creates a mounted database with options for creating additional databases. Refer to the relevant Oracle documentation for your version.
Once your database is created, create a user with the necessary permissions.
Run in SQL*Plus:
ALTER SESSION SET CONTAINER = <database name>;
CREATE TABLESPACE my_tablespace DATAFILE '<path to tablespace>.dbf' SIZE 2000M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
CREATE USER my_user IDENTIFIED BY "my_password";
GRANT DBA TO my_user;
GRANT INSERT ON MDSYS.SDO_GEOM_METADATA_TABLE TO my_user;
GRANT EXECUTE ON ctx_ddl TO my_user;
GRANT CREATE ANY INDEX TO my_user;
GRANT CREATE SEQUENCE TO my_user;
ALTER SYSTEM SET open_cursors = 1000 SCOPE = BOTH;
Important: Configure the Velocity context setting for Oracle to use the tablespace name specified above.
PostgreSQL
Installation Requirements
When installing PostgreSQL, ensure the PostGIS extension is included—it's required for geospatial support.
Create Database and User
PostgreSQL clusters support multiple databases. Create a dedicated database and user for Velocity.
Run in psql (PostgreSQL Command Line):
CREATE DATABASE my_database;
\connect my_database;
CREATE EXTENSION postgis;
CREATE USER my_user WITH ENCRYPTED PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;
SQLite
SQLite requires no installation—it runs in-process and is bundled with Velocity. The framework handles all database creation and only needs to be configured with a file location where databases will be created and maintained. This is specified when initializing the connection. See the Connections documentation for SQLite-specific details.
SQL Server
Installation Requirements
When installing SQL Server, ensure the Full-Text and Semantic Extractions for Search feature is included—it's required for full-text indexing support.
Create Database and User
Create a dedicated database and user for Velocity.
Run in SQL Server Management Studio (SSMS) or Azure Data Studio:
CREATE DATABASE my_database;
CREATE LOGIN my_user WITH PASSWORD = 'my_password';
USE my_database;
CREATE USER my_user FOR LOGIN my_user;
ALTER ROLE db_owner ADD MEMBER my_user;
Teradata
Create User
Teradata does not require pre-creating a database — user spaces serve as the primary data containers.
Run in Teradata SQL Assistant or Teradata Studio:
CREATE USER my_user AS PERMANENT = 10000000000 PASSWORD = "my_password";
GRANT ALL PRIVILEGES ON DBC TO my_user;
GRANT ALL PRIVILEGES ON my_user TO my_user;
GRANT ALL PRIVILEGES ON SYSSPATIAL TO my_user;
MODIFY USER my_user AS TIME ZONE = 'server timezone';
Full-Text Search
Teradata does not support full-text searching natively. YndigoBlue provides the Teradata Full-Text Extension for subscribers, adding BM25-ranked full-text search to both Vantage 17.20 and 20.0. Once installed, all Velocity full-text search APIs work with Teradata as they do with other databases.
See the Teradata Full-Text Search Deployment Guide for installation instructions. Run the deployment as the user created above.
Subscribers can download the extension here:
Note
The Teradata Full-Text Extension is a custom implementation built on Teradata UDFs and stored procedures. Indexing throughput is lower than native database full-text engines. Query performance is comparable to other databases for typical result set sizes.
Important — Timezone Configuration:
Teradata handles timezones between clients and servers differently than other databases, automatically converting timestamps based on user and server timezone settings. To ensure Velocity's schema parsing and constraint functionality works correctly, set the user timezone to match the server timezone.
Pay particular attention to timezone specification:
- If your timezone observes daylight saving time: Use a named timezone (e.g.,
'America/Los_Angeles'or'Americas Pacific') - Avoid offset notation: Do not use offsets like
'-08:00'for DST-observing timezones, as they don't account for seasonal changes