Registry / database / dbt-vertica

dbt-vertica

JSON →
library1.8.5pypypiunverified

dbt-vertica is the official adapter plugin for dbt (data build tool) that enables dbt to connect and transform data in Vertica databases. It leverages `vertica-python` for database connectivity and supports various dbt materializations and features. The library is actively maintained by Vertica, with the current version being 1.8.5, and follows the release cadence of dbt Core.

pip install dbt-core dbt-vertica
INSTALL
IMPORT
SIG · DBT-VERTICA
D
dbt-vertica
databasepythonv1.8.5
Install
14.6s avg
Import
Disk
131MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
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
musl
py 3.103.940 runs
installs and imports cleanly · install 0.0s · import 0.000s · 127.8MB
glibc
py 3.103.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.
fix
Update 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.
fix
Update 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.
fix
Configure 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`.
fix
Move 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.
Agent activity
15 hits · last 30 days
node
14
OpenAI (training)
1
Resources
dbt-vertica — pip install dbt-vertica · libregistry