How to Configure profiles.yml in dbt

Last updated July 25, 2026 · By the SaturnSQL team

profiles.yml (in ~/.dbt/ by default) holds warehouse connection details, kept out of the repo. A profile contains named targets like dev and prod; dbt uses the target set as default, and dbt run --target prod switches. Use env_var() to avoid hardcoding secrets.

# ~/.dbt/profiles.yml
my_project:
  target: dev
  outputs:
    dev:
      type: snowflake
      account: xy12345
      user: kim
      password: "{{ env_var('SNOWFLAKE_PASSWORD') }}"
      database: analytics
      schema: dbt_kim
      threads: 4
    prod:
      type: snowflake
      account: xy12345
      user: dbt_prod
      password: "{{ env_var('SNOWFLAKE_PROD_PASSWORD') }}"
      database: analytics
      schema: analytics
      threads: 8

Switching targets

The profile name must match the profile: key in dbt_project.yml. Developers get their own schema in dev; prod jobs pass --target prod.

dbt run --target prod

Run this in SaturnSQL

SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.

Try it free

Related dbt guides

© 2026 Panda Capital Oy Ab. All rights reserved.