A Trino data source's connection is a TrinoConnectionConfig. It mirrors the standalone trino-client options.
1
2
3
4
5
6
7
8
9
10
11
12
dataSources: {
warehouse: {
adapter: "trino",
connection: {
host: "https://trino.example.com",
port: 8080,
catalog: "hive",
auth: { type: "basic", username: "svc", password: "..." },
},
},
}
Required Fields #
-
host— coordinator hostname including protocol (for example,https://trino.example.com). -
port— coordinator port (1–65535). -
catalog— default catalog for queries. -
auth—TrinoAuth, see below.
Authentication #
1
2
3
4
5
6
// Basic auth
auth: { type: "basic", username: "svc", password: "..." }
// Bearer token
auth: { type: "bearer", token: "..." }
Optional Fields #
-
schema— a default schema. -
source— identifier sent asX-Trino-Source. -
timeout— default query timeout in milliseconds. -
retry— forwarded unchanged to the Trino client.
The config is validated twice, at the
defineConfig boundary and when the
data source is created, using the same rules. Validation errors name the
offending field but never include passwords or tokens.Troubleshooting #
Common setup issues
-
Coordinator unreachable
— check that
hostincludes the protocol (https://orhttp://) and thatportmatches the coordinator's HTTP(S) port; a connection failure usually points to network/firewall reachability rather than a config typo. -
Authentication rejected
— check that
auth.typematches what the coordinator expects (basicvs.bearer) and that the credentials have not expired or been rotated. -
Catalog or schema not visible
— check that the configured
catalog(andschema, if set) exist on the coordinator and that the authenticated user has access to them.
Per-Request Impersonation #
Set an impersonationResolver on a Trino data source to run queries as the calling user. See Trino user impersonation.