Table of Contents

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';

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