Snowflake client
Query and edit tables, switch warehouses and roles, and export to a stage.
Works on MacDriver downloads on first use of Snowflake
Included in Free; paid plans add optional featuresOpen source (AGPL-3.0)
At a glance
- Query language
- SQL
- Driver
- Downloads on first use
- Connect with
- The service’s API
- iPhone and iPad
- Does not open
Connect and sign in
Enter the account identifier before .snowflakecomputing.com, such as myorg-myaccount. Requests use HTTPS; no host, TLS section or SSH pane is needed.
Choose an Auth Method: PKCS#8 key pair, browser SSO, OAuth token, or password with MFA Passcode (TOTP). Key pairs require an accurate device clock. Pasted OAuth tokens are not refreshed.
With ALLOW_CLIENT_MFA_CACHING on the account, one fresh passcode is enough: Snowflake returns an MFA token that TablePro keeps in the Keychain. With ALLOW_ID_TOKEN, browser SSO keeps a sign-in token there, and later connects skip the browser until Snowflake rejects it.
Snowflake has no URL scheme. Name a section in CLI Connection Name instead, and every field you leave empty is read from ~/.snowflake/connections.toml when you connect.
Warehouses, roles and queries
Change warehouses and roles with Database > Session Context. The connection keeps one session while idle; tabs on another database run USE DATABASE before their statements.
The sidebar groups objects by database and schema. Object lists come from SHOW commands, which run without a warehouse; column details come from INFORMATION_SCHEMA, which needs one. Explain returns Snowflake’s plan as raw text.
Grid edits bind their values on the server, with VARIANT, OBJECT and ARRAY cells sent through PARSE_JSON. An edit keys on the declared primary key, or on every column when there is none. Standard Snowflake tables do not enforce key constraints, so a duplicated key value means an edit or a delete reaches every matching row: check a table for duplicates before you edit it. Hybrid tables enforce their keys.
Structure
The DDL view comes from GET_DDL. The Structure tab adds, renames and drops columns, sets NOT NULL, comments and the primary key, widens a VARCHAR, and changes a NUMBER’s precision at the same scale.
Changes Snowflake would reject are refused before anything runs: shrinking a VARCHAR, any other type change, and setting a column default to a new value. Clearing a default runs.
Move data
Import CSV, TSV, JSON, JSONL, XLSX and SQL files through the connection, and export a table or a result to your Mac as CSV, JSON, SQL, XLSX, Markdown, HTML and XML.
Choose File > Server-Side Export… and a stage. Server-Side Export runs COPY INTO with your privileges, writing gzipped CSV, Parquet or JSON. It waits for completion; files do not pass through your Mac.
iPhone and iPad
The iPhone and iPad app has no Snowflake driver. Snowflake connections synced from a Mac appear in its list but do not open.
Limits
- Duo works with a passcode only. Push approval is not supported.
Questions about Snowflake
Why does the sidebar show tables but no columns?
Column details come from INFORMATION_SCHEMA, which needs a running warehouse. Set Warehouse on the connection or in Session Context. A database whose objects do not appear at all needs USAGE granted to the connecting role.
Why do TIMESTAMP_LTZ values show in UTC?
TablePro reads them as a UTC time, marked Z, rather than converting them to the session’s TIMEZONE.
Key pair sign-in says the JWT token is invalid. What should I check?
The token carries your account locator and a timestamp. Check the account identifier and the Mac’s clock, then confirm the public key is registered on the user with ALTER USER … SET RSA_PUBLIC_KEY.
Get TablePro
Requires macOS 13 Ventura or later