Exasol setup
Some core functionality may be limited. If you're interested in contributing, check out the source code for each repository listed below.
- Maintained by: Community
- Authors: Torsten Glunde, Ilija Kutle
- GitHub repo: exasol/dbt-exasol
- PyPI package:
dbt-exasol - Slack channel: n/a
- Supported dbt Core version: v1.8.0 and newer
- dbt support: Not Supported
- Minimum data platform version: Exasol 6.x
Installing dbt-exasol
Use pip to install the adapter. Before 1.8, installing the adapter would automatically install dbt-core and any additional dependencies. Beginning in 1.8, installing an adapter does not automatically install dbt-core. This is because adapters and dbt Core versions have been decoupled from each other so we no longer want to overwrite existing dbt-core installations.
Use the following command for installation:
python -m pip install dbt-core dbt-exasol
Configuring dbt-exasol
For Exasol-specific configuration, please refer to Exasol configs.
Connecting to Exasol with dbt-exasol
User / password authentication
Configure your dbt profile for using Exasol:
Exasol connection information
dbt-exasol:
target: dev
outputs:
dev:
type: exasol
threads: 1
dsn: HOST:PORT
user: USERNAME
password: PASSWORD
dbname: db
schema: SCHEMA
OpenID authentication (Exasol SaaS)
For Exasol SaaS environments, you can authenticate using OpenID tokens instead of username and password:
dbt-exasol:
target: dev
outputs:
dev:
type: exasol
threads: 1
dsn: HOST:PORT
user: USERNAME
access_token: YOUR_ACCESS_TOKEN # or use refresh_token
dbname: db
schema: SCHEMA
encryption: True # required for SaaS
access_token— Personal access token for OpenID authenticationrefresh_token— Refresh token for OpenID authentication (alternative toaccess_token)
Use either access_token or refresh_token, not both. TLS encryption is required when using OpenID authentication with Exasol SaaS.
Optional parameters
connection_timeout— defaults to pyexasol defaultsocket_timeout— defaults to pyexasol defaultquery_timeout— defaults to pyexasol defaultcompression— default: Falseencryption— default: True. Enables SSL/TLS encryption for secure connections. Required for Exasol SaaSvalidate_server_certificate— default: True. Validates the SSL/TLS certificate when encryption is enabled. Set to False only for development/testing with self-signed certificates (not recommended for production)protocol_version— default: v3row_separator— default: CRLF for windows - LF otherwisetimestamp_format— default:YYYY-MM-DDTHH:MI:SS.FF6
By default, dbt-exasol validates SSL/TLS certificates when encryption=True. For development/testing with self-signed certificates, you can either:
- Set
validate_server_certificate: False(not recommended for production) - Use a certificate fingerprint in the DSN:
dsn: myhost/FINGERPRINT:8563 - Use
dsn: myhost/nocertcheck:8563to skip validation (testing only)
For more information, see the PyExasol security documentation.
Was this page helpful?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.