Skip to main content

dbt-vertica

PyPI version License

dbt adapter for Vertica. The adapter uses vertica-python to connect to your Vertica database.

For more information on using dbt with Vertica, consult the Vertica-Setup and Configuration pages.

dbt-vertica Versions Tested

dbt-vertica has been developed using the following software and versions:

  • Vertica Server 26.2.0-0
  • Python 3.11
  • vertica-python client 1.3.1
  • dbt-core 1.12.0
  • dbt-tests-adapter 1.20.0

Supported Features

dbt Core Features

Below is a table for what features the current Vertica adapter supports for dbt. This is constantly improving and changing as both dbt adds new functionality, as well as the dbt-vertica driver improves. This list is based upon dbt 1.3.0

dbt Core Features Supported
Table Materializations Yes
Ephemeral Materializations Yes
View Materializations Yes
Incremental Materializations - Append Yes
Incremental Materailizations - Merge Yes
Incremental Materializations - Delete+Insert Yes
Incremental Materializations - Insert_Overwrite Yes
Incremental Materializations - Microbatch Yes
Sample mode (--sample) Yes
Snapshots - Timestamp Yes
Snapshots - Check Cols Yes
Snapshots - YAML definitions (1.9+ style) Yes
Snapshots - hard_deletes (incl. new_record) Yes
Snapshots - dbt_valid_to_current / custom meta column names Yes
SQL UDFs (functions/ scalar, language sql) Yes
Python / JavaScript UDFs, aggregate UDFs No (require compiled Vertica UDx libraries)
Seeds Yes
Tests Yes
Documentation Yes
External Tables Untested
Unit Testing Yes
  • Yes - Supported, and tests pass.
  • No - Not supported or implemented.
  • Untested - May support out of the box, though hasn't been tested.
  • Passes Test - The tests have passed, though haven't tested in a production like environment.

dbt Fusion engine / ADBC

The dbt Fusion engine does not load Python adapters: it talks to warehouses through its own Rust drivers over ADBC (Arrow Database Connectivity), and those drivers are developed in the dbt Fusion project itself. dbt-vertica therefore runs on dbt Core (this package); Fusion support requires a Vertica ADBC driver contributed to the Fusion engine and cannot be provided from this repository. The macros in this adapter are kept free of Fusion-incompatible Jinja (dbt Core 1.12's Fusion-conformance deprecation warnings are clean), so projects using dbt-vertica can adopt Fusion-ready project syntax (e.g. require_generic_test_arguments_property) today.

Installation

$ pip install dbt-vertica

You don't need to install dbt separately. Installing dbt-vertica will also install dbt-core and vertica-python.

Sample Profile Configuration

your-profile:
  outputs:
    dev:
      type: vertica # Don't change this!
      host: [hostname]
      port: [port] # or your custom port (optional)
      username: [your username] 
      password: [your password] 
      database: [database name] 
      oauth_access_token: [access token]
      schema: [dbt schema] 
      connection_load_balance: True
      backup_server_node: [list of backup hostnames or IPs]
      retries: [1 or more]
      threads: [1 or more] 
      autocommit: False
  target: dev

Description of Profile Fields:

Property Description Required? Default Value Example
type The specific adapter to use. Yes None vertica
host The host name or IP address of any active node in the Vertica Server. Yes None 127.0.0.1
port The port to use, default or custom. Yes 5433 5433
username The username to use to connect to the server. Yes None dbadmin
password The password to use for authenticating to the server. Yes None my_password
database The name of the database running on the server. Yes None my_db
oauth_access_token To authenticate via OAuth, provide an OAuth Access Token that authorizes a user to the database. No "" Default: ""
schema The schema to build models into. No None VMart
connection_load_balance A Boolean value that indicates whether the connection can be redirected to a host in the database other than host. No true true
backup_server_node List of hosts to connect to if the primary host specified in the connection (host, port) is unreachable. Each item in the list should be either a host string (using default port 5433) or a (host, port) tuple. A host can be a host name or an IP address. No none ['123.123.123.123','www.abc.com',('123.123.123.124',5433)]
retries The retry times after an unsuccessful connection. No 2 3
threads The number of threads the dbt project will run on. No 1 3
autocommit Connection autocommit(True/False) Yes False True
label A session label to identify the connection. No An auto-generated label with format of: dbt_username dbt_dbadmin

For more information on Vertica’s connection properties please refer to Vertica-Python Connection Properties.

Changelog

See the changelog

Contributing guidelines

Have a bug or an idea? Please see CONTRIBUTING.md for details

Develop

Run a local Vertica instance like:

docker run -p 5433:5433 \
           -p 5444:5444 \
           -e VERTICA_DB_NAME=docker \
           -e VMART_ETL_SCRIPT="" \
           -e VMART_ETL_SQL="" \
           vertica/vertica-ce

Access the local Vertica instance like:

docker exec -it <docker_image_name> /opt/vertica/bin/vsql

Install the package with its test dependencies:

pip3 install -e ".[test]"

Point the test suite at your Vertica instance (defaults target the CI verticadb-sample host; override with env vars for local runs):

export VERTICA_HOST=localhost VERTICA_PORT=5433 \
       VERTICA_USER=dbadmin VERTICA_PASSWORD='' VERTICA_DATABASE=vdb
# grants tests need three extra users to exist in the database:
export DBT_TEST_USER_1=dbt_test_user_1 DBT_TEST_USER_2=dbt_test_user_2 DBT_TEST_USER_3=dbt_test_user_3

Run tests via:

pytest tests/functional/adapter/
# run an individual test 
pytest tests/functional/adapter/test_basic.py

Run Unit test via:

dbt test --select /{foldername}/{unit_test_file}

Release files for dbt-vertica 1.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbt-vertica 1.12.0
File Size Uploaded
dbt_vertica-1.12.0.tar.gz 35.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbt-vertica 1.12.0
File Interpreter ABI Platform
dbt_vertica-1.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 86.2 kB

Release files / dbt_vertica-1.12.0.tar.gz

Download URL dbt_vertica-1.12.0.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
27cdcb87534d64001a94f7791cd4d030649524f8010cb53672fbc9519cdd9c9f
BLAKE2b-256 checksum
How to use checksums
3a284a83f364bfa8e31539f5663c540d17b5980ed14c470eb6cb2cf04f619c4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / dbt_vertica-1.12.0-py3-none-any.whl

Download URL dbt_vertica-1.12.0-py3-none-any.whl
Size 50.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fb4e91e09c420505940944332059eb99d8861606f49146d4f42ca4da8a916aa
BLAKE2b-256 checksum
How to use checksums
5ac4000f3e499fb61af182c64b0c394d488c12f45ed3bd190adf058c8203d0a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.12.0 This release

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.7.3

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.3.0

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.18.2

2 release files

0.18.0

2 release files

0.15.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page