Install & Compatibility
Where this runs
tested against v1.8.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.940 runs
installs and imports cleanly · install 0.0s · import 0.000s · 127.8MB
glibcpy 3.10–3.940 runs
installs and imports cleanly · install 14.6s · import 0.000s · 128MB
131MB installed
● package 131MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
dbt-vertica
✓ dbt-vertica is a dbt adapter and is not typically imported directly into user Python code. Its functionality is exposed via dbt CLI commands and YAML configurations (e.g., profiles.yml, dbt_project.yml).
dbt adapters extend dbt Core's capabilities, rather than providing Python classes for direct import by end-users.
To get started with dbt-vertica, first install the adapter and dbt-core. Then, initialize a dbt project, configure your Vertica connection details in `profiles.yml` (using environment variables for security is recommended), and finally, run `dbt debug` to verify connectivity. You can then create and run your dbt models.
# 1. Install dbt-vertica and dbt-core (recommended for dbt Core >= 1.8)
pip install dbt-core dbt-vertica
# 2. Initialize a new dbt project
dbt init my_vertica_project
cd my_vertica_project
# 3. Configure your profiles.yml (usually located at ~/.dbt/profiles.yml)
# Ensure you replace placeholders or set environment variables.
# Example profiles.yml entry (use your actual values or env vars):
# my_vertica_profile:
# target: dev
# outputs:
# dev:
# type: vertica
# host: "{{ env_var('DBT_VERTICA_HOST') }}"
# port: "{{ env_var('DBT_VERTICA_PORT', 5433) | as_number }}"
# username: "{{ env_var('DBT_VERTICA_USERNAME') }}"
# password: "{{ env_var('DBT_VERTICA_PASSWORD') }}"
# database: "{{ env_var('DBT_VERTICA_DATABASE') }}"
# schema: "{{ env_var('DBT_VERTICA_SCHEMA') }}"
# 4. Set environment variables (replace with your Vertica connection details)
import os
os.environ['DBT_VERTICA_HOST'] = os.environ.get('DBT_VERTICA_HOST', 'your_vertica_host')
os.environ['DBT_VERTICA_PORT'] = os.environ.get('DBT_VERTICA_PORT', '5433')
os.environ['DBT_VERTICA_USERNAME'] = os.environ.get('DBT_VERTICA_USERNAME', 'your_username')
os.environ['DBT_VERTICA_PASSWORD'] = os.environ.get('DBT_VERTICA_PASSWORD', 'your_password')
os.environ['DBT_VERTICA_DATABASE'] = os.environ.get('DBT_VERTICA_DATABASE', 'your_database')
os.environ['DBT_VERTICA_SCHEMA'] = os.environ.get('DBT_VERTICA_SCHEMA', 'your_schema')
# 5. Test the connection
dbt debug --target dev --profile my_vertica_project
# 6. Create your first model (e.g., models/my_first_model.sql)
# SELECT 1 as id, 'Hello dbt!' as message
# 7. Run your dbt models
dbt run --profile my_vertica_project
dbt --version
Debug
Known issues
breakingBeginning in dbt Core v1.8, adapter installations no longer automatically include `dbt-core`. Users must explicitly install `dbt-core` alongside `dbt-vertica` to ensure a working environment.fixUpdate your installation command to `pip install dbt-core dbt-vertica`.
affects: dbt-vertica >= 1.8.x when used with dbt-core >= 1.8.x
breakingFor incremental models using 'delete+insert' or 'merge' strategies, the `merge_columns` config parameter was refactored to `unique_key` and is now a required parameter. Existing models using `merge_columns` will cause errors.fixUpdate your incremental model configurations to use `unique_key` instead of `merge_columns` and ensure a unique key is provided.
affects: dbt-vertica versions supporting dbt-core 1.8+
gotchaThe `on_schema_change` parameter for incremental models in dbt-vertica does not support the `sync_all_columns` value. Only `ignore`, `fail`, and `append_new_columns` are currently supported.fixConfigure your incremental models to use one of the supported `on_schema_change` values: `ignore`, `fail`, or `append_new_columns`.
affects: All known dbt-vertica versions supporting `on_schema_change`
deprecatedIn dbt Core v1.8, custom defaults for global config flags in `profiles.yml` have been deprecated. These flags should now be set in the `flags` dictionary within your `dbt_project.yml`.fixMove any global config flags from `profiles.yml` to a `flags` dictionary in `dbt_project.yml`.
affects: dbt-core >= 1.8 (and thus dbt-vertica used with it)
Upgrade
Version history
1.8.5latest on PyPI · released Jun 13, 2025
Audit
Dependencies
dbt-corerequiredRequired for dbt CLI functionality; must be explicitly installed since dbt Core v1.8.
vertica-pythonrequiredThe underlying Python driver used to connect to Vertica.