Skip to content

Backend Support

tonic currently supports Postgres, Snowflake, SQLite, MySQL, and DuckDB targets.

BackendExecution context keys
Postgresdatabase, schema
Snowflakedatabase, schema, warehouse, role
SQLitenone
MySQLdatabase; schema aliases to database
DuckDBdatabase, schema

Inspect commands also accept public scope keys catalog and namespace where they map cleanly to backend concepts.

CapabilityPostgresSnowflakeSQLiteMySQLDuckDB
Catalogsyesyesnoyesyes
Namespacesyesyesyesnoyes
Tablesyesyesyesyesyes
Viewsyesyesyesyesyes
View definitionsyesyesyesyesyes
Columnsyesyesyesyesyes
Catalog DDLnoyesnonono
Namespace DDLnoyesnonono
Table DDLnoyesyesyesyes
View DDLnoyesyesyesyes
Descriptionslimitedyeslimitedlimitedlimited

Snowflake descriptions come from native object comments. DuckDB descriptions come from comments exposed through DuckDB metadata functions. Other backends may return empty descriptions.

Inspect object references are unquoted dot paths:

  • name
  • namespace.name
  • catalog.namespace.name

Current backend normalization lowercases Postgres identifiers, uppercases Snowflake identifiers, and leaves SQLite/MySQL/DuckDB names as provided.

Snowflake browserauth targets can opt into driver credential caching with browserauth_cache: true.

The shared snowflake.browserauth_cache_dir setting can direct the Snowflake driver cache directory. Commands under query, inspect, and serve re-exec once with SF_TEMPORARY_CREDENTIAL_CACHE_DIR set when needed.