Skip to main content

Trino

trino Python client-backed connector for federated SQL across data sources (Trino / Starburst). db_type is trino. Tier 2.

Connection config

trino
{
"name": "prod-trino",
"db_type": "trino",
"host": "trino.example.com",
"port": 8080,
"username": "analyst",
"password": "...",
"catalog": "hive",
"schema_name": "default"
}

Connection fields

FieldRequiredDescription
nameYesConnection name. [a-zA-Z0-9_-], max 64 chars.
db_typeYestrino.
hostYesCoordinator hostname.
portNoDefaults to 8080.
usernameNoUser (defaults to trino).
passwordOne ofBasic auth (forces HTTPS).
catalogNoCatalog to query.
schema_nameNoDefault schema (mapped to schema).
ssl / ssl_configNoTLS.
query_timeoutNoMaps to SET SESSION query_max_run_time and the client request timeout.

Auth methods (priority JWT > certificate > Kerberos > password > none): JWT (auth_method: jwt, jwt_token); certificate (auth_method: certificate, client_cert / client_key PEM); Kerberos (auth_method: kerberos, kerberos_config); Basic password. Any non-none auth or a password forces https. Connection-string forms: trino://user@host:port/catalog/schema and trino+https:// for TLS without a password.

Capabilities

CapabilitySupportedNotes
QueryYesPer-query timeout via SET SESSION query_max_run_time (best-effort on older Trino).
Schema introspectionYesinformation_schema.columns + .tables per catalog (fast batch); falls back to SHOW SCHEMAS / SHOW TABLES / SHOW COLUMNS for catalogs that lack it.
FK discoveryYesinformation_schema.table_constraints joined to key_column_usage / constraint_column_usage (best-effort; not all connectors expose constraints).
Primary keysYestable_constraints of type PRIMARY KEY (best-effort per connector).
EXPLAINYesEXPLAIN; row estimate parsed from plan text (rows: N / est. N).
Cost estimationYes (estimated)Estimated rows × low self-hosted per-row rate.
Schema statsPartialSHOW STATS FOR per table for row counts (best-effort, capped at 50 tables); no column stats.

Tier 2.

Dialect notes / gotchas

  • Identifiers are quoted with double quotes ("col"); embedded quotes are escaped by doubling.
  • Queries are catalog-qualified (catalog.schema.table). If no catalog is set, introspection enumerates SHOW CATALOGS (excluding system).
  • Constraint, SHOW STATS, and information_schema support vary by underlying connector — discovery is best-effort and silently degrades.
  • No SSH tunnel support.

Blocked functions

No Trino-specific dangerous-function denylist is defined. Only the universal block applies:

  • load_extension
  • install_extension

All DDL/DML statement types are blocked (CREATE, DROP, ALTER, INSERT, UPDATE, DELETE, TRUNCATE, MERGE, GRANT, REVOKE, etc.).

sql-workflow — no dedicated Trino skill exists. Covers output-shape inference, schema exploration, CTE-based query building, and the verification loop.

Cloud vs local

Supported in both cloud and local mode. Trino is TCP-connected, so in cloud mode the resolved host is run through SSRF validation: public hostnames are allowed, but RFC1918/loopback/link-local addresses are blocked unless SP_ALLOW_PRIVATE_CONNECTIONS is set. In local mode SSRF validation is disabled.