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: 8Switching 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 prodRun 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