Skip to main content

Snowflake

The Snowflake connector reads metadata from one database using Snowflake's SQL REST API v2 and key-pair JWT authentication. Password auth is deliberately not offered. Discovery is SHOW-based, which needs no running warehouse — syncs cost you zero Snowflake compute.

Connection settingsDirect link to Connection settings

FieldRequiredNotes
accountIdentifierYesYour account identifier, either the org-account form (myorg-myaccount) or a legacy locator with region segments (xy12345.us-east-1.aws).
userYesThe Snowflake user the sync connects as; it must be set up for key-pair authentication.
databaseYesThe database to discover — one database per connector.
roleNoOptional role that scopes the session.
privateKeyPemYesThe user's private key as a PKCS8 PEM (up to 8192 characters). Stored in Supabase Vault; decrypted only in the sync worker and never shown again after saving.

You never enter a hostname: the API host is derived as <accountIdentifier>.snowflakecomputing.com, so the connector can only ever talk to Snowflake's own domain. For each request, the worker signs a fresh short-lived RS256 JWT with your key — there is no OAuth token exchange, and a key that fails to parse is refused before any network call. The derived host must also pass Metatate's private-address refusal.

Testing the connection runs SHOW SCHEMAS IN DATABASE ... LIMIT 1, proving the key pair authenticates and the database is visible to the role — with no warehouse compute.

What gets discoveredDirect link to What gets discovered

A sync issues exactly four metadata statements against the configured database, regardless of estate size:

  • SHOW SCHEMAS — schemas (INFORMATION_SCHEMA is excluded).
  • SHOW TABLES and SHOW VIEWS — tables and views, with comments and each object's table type.
  • SHOW COLUMNS — columns, with data type, nullability, and comments.

After a passed test, choose the schemas and tables to sync in the scope picker — see the connectors overview.

Metatate also ships a Snowflake Native App edition that runs entirely inside your Snowflake account — see https://docs.getmetatate.com/snowflake/ ; this connector is how Metatate Cloud reads Snowflake metadata alongside your other platforms.