Connect a BI tool
Connection steps for Metabase, Tableau, Power BI, and DBeaver, and what to do when a login or a table list fails.
Updated
Every tool below connects through its PostgreSQL connector. datahashi answers the Postgres wire protocol on the engine’s SQL port. Read PostgreSQL wire protocol first for what the port accepts.
What you need
| Item | Value |
|---|---|
| Host and port | Your engine host and the port in ENGINE_SQL_ADDR. |
| Database | Any name. It does not choose a model. |
| User and password | A SQL credential from the console (Governance, SQL / JDBC / ODBC), or on the community engine any user name and ENGINE_API_KEY. |
| Encryption | Required. Set the tool’s SSL mode to require, or verify-full if the tool has the engine’s certificate. |
The login uses SCRAM-SHA-256. A credential issued before SCRAM support logs in by a password sent inside TLS. Rotate that credential to move it to SCRAM. On the community engine, a JWT password also stays on the password path.
Each entity is a table in the public schema. Dimensions, measures, and metrics are its columns.
Metabase
- Admin, Databases, Add database, type PostgreSQL.
- Fill in host, port, database, user, and password.
- Turn on Use a secure connection (SSL). Leave SSL mode on
require. - Save. Metabase syncs the entities as tables.
Metabase runs a catalog sync on a schedule. A new entity appears after the next sync, or after Sync database schema now.
Tableau
- Connect, To a server, PostgreSQL.
- Enter server, port, database, user name, and password.
- Tick Require SSL.
- Sign in. Pick the
publicschema and drag an entity onto the canvas.
Use one entity per data source. Tableau joins are not translated, so a join between two entities is refused. Relate entities in the model instead.
Power BI
- Get data, PostgreSQL database.
- Server is
host:port. Enter the database name. Choose Import. - On the credentials screen choose Database, and enter the user and password. Keep encryption on.
- In the navigator pick the entities to load.
DBeaver
- New database connection, PostgreSQL.
- Enter host, port, database, user name, and password.
- On the SSL tab, tick Use SSL and set SSL mode to
require. - Test connection, then finish. The navigator lists the entities under
public.
If something fails
| What you see | Cause and fix |
|---|---|
SSL/TLS is required |
The tool is connecting without TLS. Set the SSL mode to require. |
password authentication failed |
Wrong secret, a rotated credential, or a disabled credential. Check it in the console. |
| Login works, no tables | The credential’s roles grant no entity. Check its roles in the console. |
| A query fails with a syntax error | The statement uses a join, subquery, or window function. The port accepts a single-entity SELECT. |
channel binding error |
The tool asks for SCRAM-SHA-256-PLUS. Turn channel binding off in the tool. |