Backend Support
tonic currently supports Postgres, Snowflake, SQLite, MySQL, and DuckDB targets.
Connection Context
Section titled “Connection Context”| Backend | Execution context keys |
|---|---|
| Postgres | database, schema |
| Snowflake | database, schema, warehouse, role |
| SQLite | none |
| MySQL | database; schema aliases to database |
| DuckDB | database, schema |
Inspect commands also accept public scope keys catalog and namespace where they map cleanly to backend concepts.
Inspect Matrix
Section titled “Inspect Matrix”| Capability | Postgres | Snowflake | SQLite | MySQL | DuckDB |
|---|---|---|---|---|---|
| Catalogs | yes | yes | no | yes | yes |
| Namespaces | yes | yes | yes | no | yes |
| Tables | yes | yes | yes | yes | yes |
| Views | yes | yes | yes | yes | yes |
| View definitions | yes | yes | yes | yes | yes |
| Columns | yes | yes | yes | yes | yes |
| Catalog DDL | no | yes | no | no | no |
| Namespace DDL | no | yes | no | no | no |
| Table DDL | no | yes | yes | yes | yes |
| View DDL | no | yes | yes | yes | yes |
| Descriptions | limited | yes | limited | limited | limited |
Snowflake descriptions come from native object comments. DuckDB descriptions come from comments exposed through DuckDB metadata functions. Other backends may return empty descriptions.
Object Name Normalization
Section titled “Object Name Normalization”Inspect object references are unquoted dot paths:
namenamespace.namecatalog.namespace.name
Current backend normalization lowercases Postgres identifiers, uppercases Snowflake identifiers, and leaves SQLite/MySQL/DuckDB names as provided.
Snowflake Browser Auth Cache
Section titled “Snowflake Browser Auth Cache”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.