Experimental Multiple warehouse connections are behind the
multi-connection-projects feature flag, and the flow and wording on this page may change between releases. Contact Lightdash support to enable it for your organization. Self-hosted instances need an Enterprise license and multi-connection-projects in LIGHTDASH_ENABLE_FEATURE_FLAGS. What Experimental means.Requirements and limits
- You need permission to manage the project.
- Only Postgres, Athena and Snowflake projects can switch, and every extra connection uses the primary’s warehouse type. You can’t change that type while extra connections exist.
- Preview projects can’t switch, and neither can a project whose warehouse uses organization credentials.
- The switch is one way. You can remove extra connections, but the app can’t switch the project back.
- One query can’t combine tables from two connections.
- When the feature flag is off, no project can switch or add a connection. Projects that already switched keep working.
Enable multiple connections
In Project settings → Connection settings, click Enable multiple connections on the Connections card. If the button is disabled, its tooltip says why.

Manage connections

Snowflake connections
Each Snowflake connection has its own account, user, role, database and warehouse. To run different workloads on different Snowflake warehouses, add one connection for each warehouse. Then pick a connection in the SQL runner, or run a dbt source on it. A model’ssnowflake_warehouse config and Always use this warehouse work on every connection the same way they work on a single-connection project.
Shared credentials or None
Two settings decide whose Snowflake login runs a query:- Require users to provide their own credentials on the primary connection. Every extra connection follows it.
- Authentication Type on the connection. None means the connection stores no Snowflake login at all.
Which to choose:
- Shared credentials, personal credentials not required: everyone can see the same data through one service user.
- Personal credentials required: Snowflake roles and access policies must apply to each person.
- None: the same as personal credentials required, and you don’t want a shared Snowflake login stored for this connection.
- On the primary connection, turn on Require users to provide their own credentials and save. If this setting is off, None isn’t in the Authentication Type list.
- Each person adds their own Snowflake credentials for the connection in the credentials switcher in the navigation bar. They can use Password, Key Pair (private key file) or User Account (Sign in with Snowflake). The sign-in option needs Snowflake OAuth on the instance. Self-hosted instances set it up with the Snowflake environment variables.
Run a dbt source on another connection
The primary dbt source always runs on the primary connection. Each additional dbt source can run on any connection, and its explores move on the next compile.
Query a connection in the SQL runner

Explores, charts and dashboards


Personal warehouse credentials
Extra connections follow the primary’s Require users to provide their own credentials setting. When it is on, people need personal credentials for each connection they query, and the credentials switcher in the navigation bar has one section per connection.
Deploy from the CLI
lightdash deploy without a source deploys to the primary connection. To deploy explores to an extra connection, name the dbt source that runs there:
lightdash preview and lightdash start-preview take the same flag, and lightdash config set-source stores a default. The deploy stops if your dbt target’s database doesn’t match the connection. See the CLI reference.
Preview projects copy every connection, and their explores and SQL charts use the copies.
Content as code and promotion
SQL charts and virtual views on an extra connection download with the connection’s name, for exampleconnection: Reporting replica. Content on the primary has no connection: field.
An upload can’t move content to another connection. A file that names another connection, or drops the field, fails:
Remove a connection
You can remove an extra connection only when no explores, dbt sources, SQL charts or running queries use it. The primary can’t be removed. Move that content first, or contact Lightdash support if you can’t. When the last extra connection goes, the project works like a single-connection project again.
