Overview
When Etlworks runs dbt Core locally through the Execute dbt Project flow, it reuses the Etlworks warehouse connection selected in the flow as the dbt credential source. The supported connection properties are projected into an ephemeral dbt profile that exists only for the duration of the execution — you do not maintain a permanent second copy of database credentials in profiles.yml.
Only explicitly supported properties are projected. Arbitrary JDBC properties are not blindly copied into the dbt adapter; JDBC-only properties are ignored unless a direct adapter or ODBC equivalent exists.
The optional Target Schema field in the flow overrides the dbt target schema; database credentials always come from the selected connection.
Supported warehouses and authentication
The validated baseline is dbt Core 1.12.3 with the following adapters:
| Warehouse | Adapter | Authentication and connectivity |
|---|---|---|
| PostgreSQL | dbt-postgres 1.11.0 | Username/password, SSL, direct or Etlworks SSH tunnel |
| Aurora PostgreSQL | dbt-postgres 1.11.0 | Username/password, SSL, direct or Etlworks SSH tunnel |
| Snowflake | dbt-snowflake 1.12.0 | Password, unencrypted or encrypted PKCS#8 private key, DER/base64 key, Azure AD OAuth |
| Amazon Redshift | dbt-redshift 1.11.1 | Username/password, SSL/options, direct or Etlworks SSH tunnel |
| Databricks | dbt-databricks 1.12.5 | Personal access token, OAuth service principal, direct or Etlworks SSH tunnel |
| Google BigQuery | dbt-bigquery 1.12.0 | OAuth2 or JSON service account |
| SQL Server | dbt-sqlserver 1.11.1 | Username/password, Entra ID password, service principal, interactive token, managed identity (MSI) |
| Azure Synapse | dbt-synapse 1.8.5 | Username/password, Entra ID password, service principal, interactive token, managed identity (MSI) |
| Microsoft Fabric Warehouse | dbt-fabric 1.9.10 | Entra ID service principal or interactive token |
| ClickHouse | dbt-clickhouse 1.10.3 | Username/password, direct or Etlworks SSH tunnel |
The adapters themselves are administrator-installed prerequisites on the execution node — Etlworks validates compatibility but does not install them.
Warehouse-specific notes
- Databricks — the profile reads the connection's Catalog or a ConnCatalog URL property. Unity Catalog deployments can require ConnCatalog=workspace.
- BigQuery — OAuth2 uses the existing Etlworks callback to refresh tokens. Service-account credentials must be JSON; P12 service-account keys are not supported.
- SQL Server, Azure Synapse, Microsoft Fabric — require unixODBC and Microsoft ODBC Driver 18 on the execution node. JDBC-only properties such as sendStringParametersAsUnicode and useBulkCopyForBatchInsert are not passed to ODBC. Stored NTLM credentials are not a supported dbt conversion.
- ClickHouse — dbt uses the ClickHouse Python HTTP adapter, independently of the Etlworks JDBC driver.
- SSH tunnels — PostgreSQL, Aurora PostgreSQL, Redshift, Databricks, and ClickHouse connections reuse the standard Etlworks SSH tunnel lifecycle for dbt executions.
- Dynamic "Script before connect" — for Dynamic connections, the script runs before the dbt profile is projected, so properties it sets are honored.
Dynamic connections
The warehouse slot and the named Git repository slot of a dbt flow accept a Dynamic connection. At execution time Etlworks resolves it using the standard tenant/user contract, checks access, validates that the concrete connection type is supported for dbt, and applies the same warehouse and authentication rules as for a directly selected connection.
A Dynamic connection cannot convert a local dbt flow into a Platform flow, bypass tenant isolation, or evade compatibility checks.
Availability
Available in Etlworks 9.9.9 and later. Integration Agent execution requires agent version 9.9.9 or later — see Run dbt and Git flows on the Integration Agent.