← All Adapters
Official dbt DuckDB adapter docs ↗
DUCKDB
type: duckdbIn-process analytical database. DVT uses DuckDB internally for federation compute and as the extraction cache engine.
DVT SUPPORT
✓ FEDERATION SOURCE
read in federation models
✓ FEDERATION TARGET
materialize federation results
✓ DEFAULT TARGET
run full dbt projects against it
✓ SEED TARGET
dvt seed --target loads here
DVT supports DuckDBbecause both dbt and Sling do: dbt drives standard materializations when it's your default target, Sling moves data in and out during federation. Connectivity for both layers is checked with dvt debug --all.
PREREQUISITES
Driver: duckdb — installed automatically by:
dvt sync
CONFIGURATION FIELDS
| FIELD | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| type | string | yes | — | Must be `duckdb` |
| path | string | no | :memory: | Database file path (or :memory: for in-memory) |
| threads | integer | no | 4 | Number of parallel threads |
PROFILES.YML EXAMPLE
my_project:
target: duckdb_dev
outputs:
duckdb_dev:
type: duckdb
path: ./analytics.duckdbSOURCES.YML EXAMPLE
sources:
- name: local_files
meta:
connection: duckdb_dev
tables:
- name: parquet_dataDBT ADAPTER FEATURES
When DuckDB is your default target, every standard dbt model runs through the official dbt adapter — all of its documented capabilities apply unchanged:
MATERIALIZATIONS
tableviewincrementalephemeralexternalf_tablef_incrementalINCREMENTAL STRATEGIES
appenddelete+insertNOTABLE CONFIGS
- ▸external (Parquet/CSV) materializations
- ▸also DVT's federation compute engine
FEDERATION INCREMENTAL STRATEGIES
Strategies available when this engine is the target of a f_incremental model:
✓ Append✓ Delete+Insert✓ Merge
KNOWN LIMITATIONS
- ⚠Single-user — file locks prevent concurrent access