2. Connect your warehouse¶
Step 2 of 5 — setup step 1, Your database or warehouse. At the end of it, the portal has your connection settings stored. Nothing has contacted the warehouse yet.
The form says: "Stored in praxis.db, which is owner-readable only, and written into the file you run the deployment with. Nothing is contacted yet."
▸ More settings
Stored in praxis.db, which is owner-readable only, and written into the file you run the deployment with. Nothing is contacted yet.
Store the connectionA Postgres database on this machine, as Docker reaches it: host.docker.internal, not localhost.
Pick the type¶
| Databases | Warehouses and lakehouses |
|---|---|
| PostgreSQL — Postgres, or anything speaking its protocol | Snowflake — an account, a warehouse and a database |
| MySQL — MySQL or MariaDB | BigQuery — a Google Cloud project and a service account |
| SQL Server | Databricks — a SQL warehouse's JDBC URL and a token |
| ClickHouse — over HTTP | Redshift |
| DuckDB — a file, or MotherDuck | Athena — query S3 |
| Trino — Trino or Presto |
Fields¶
Required fields are marked; optional ones say optional. Less common settings are under More settings. Every type also has an optional Description, shown on the Data page and not read by the agent.
- Host — starts as
host.docker.internal. A database on this machine ishost.docker.internalfrom inside a container, neverlocalhost. - Port — 5432 / 3306 / 1433 / 5439
- Database, User, Password
- More settings: Encrypt the connection, Server certificate (paste a PEM), and for SQL Server Windows domain
- Account identifier — like
xy12345.eu-central-1, without.snowflakecomputing.com - Warehouse — the compute that runs the queries, not the database
- Database, User, Password
- More settings: Role, Sign in with (password, key pair, OAuth, password and MFA)
- Project — the project ID, not its display name
- Service account key — paste the whole JSON. If the key belongs to a different project, the form offers Use X
- More settings: Dataset location (e.g.
EU)
- JDBC URL — starts with
jdbc: - Access token
- Accept the Databricks driver licence — the driver will not load without it
- Database; more settings: Catalog
- Access key ID, Secret access key, Region
- Where results are written — an
s3://location - More settings: Workgroup
- ClickHouse: Host, Port 8123, Database, User, Password
- Trino: Host, Port 8080, User, Password, Catalog, Schema
- DuckDB: Database file (empty means in-memory); more settings: MotherDuck token
Other settings takes any extra CUBEJS_DB_* / CUBEJS_AWS_* setting by name, for a
warehouse option the form does not list.
Click Store the connection. If something required is blank, the form says Still needed: …. When it is stored, setup step 2 opens.
Next: 3. Start the services
Changing it later¶
Data → … → Edit connection opens the same form. Leave a box empty to keep what is stored.
After changing credentials, download the semantic layer's compose file again and run
docker compose up -d with it — the running services still have the old values.
Test connection on the Data page checks that both services answer. It does not prove the warehouse password: the first thing that connects to the warehouse is reading its tables.