Skip to main content
Snowflake is a cloud data warehouse. MantrixFlow connects to Snowflake to sync tables and views from your databases and schemas.

Prerequisites

You need a Snowflake account and a user with read access to the databases and schemas you want to sync. Create a dedicated service user with minimum required privileges to avoid consuming excessive credits.

Connection Setup

1

1. Account Identifier

Enter the full account identifier in the format organisation_name-account_name. Find this in the Snowflake URL (e.g. orgname-accountname.snowflakecomputing.com) or in Account → Admin → Accounts. Do not use only the account name; use the full identifier.
2

2. Warehouse

Enter the warehouse name to use for queries. Choose a warehouse with appropriate size. A smaller warehouse (e.g. X-Small) is often sufficient for sync workloads.
3

3. Database and Schema

Enter the database and schema names. You can sync from multiple schemas by creating separate connections or selecting streams across schemas.
4

4. Username and Password

Enter the Snowflake username and password. Alternatively, use key pair authentication if configured.

Create a Service User

CREATE USER mantrixflow_sync PASSWORD = 'your_secure_password';

CREATE ROLE mantrixflow_read;
GRANT USAGE ON WAREHOUSE your_warehouse TO ROLE mantrixflow_read;
GRANT USAGE ON DATABASE your_database TO ROLE mantrixflow_read;
GRANT USAGE ON SCHEMA your_database.your_schema TO ROLE mantrixflow_read;
GRANT SELECT ON ALL TABLES IN SCHEMA your_database.your_schema TO ROLE mantrixflow_read;

GRANT ROLE mantrixflow_read TO USER mantrixflow_sync;

Available Streams

Streams correspond to tables and views in the selected database and schema. MantrixFlow discovers the schema. You select which streams to sync when creating a pipeline.

Supported Sync Modes

  • Full sync — Reads every row on every run.
  • Incremental sync — Uses a cursor column to read only new or updated rows.