> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install prefect-dbt with a dbt adapter for any warehouse

The basic install is covered on the [integration overview](/docs/integrations/prefect-dbt.md#install-prefect-dbt):

```bash theme={null}
pip install "prefect[dbt]"
```

This installs `prefect-dbt` alongside `dbt-core`, but **does not** install any dbt database adapter. Without one, you will see an error like `Could not find adapter type <type>!` at runtime.

## Install a dbt adapter

The modern [`PrefectDbtRunner`](/docs/integrations/prefect-dbt/runner) path reads your existing `profiles.yml`, so all you need to add is the dbt adapter for your warehouse. Install it alongside `prefect-dbt`:

```bash theme={null}
pip install "prefect[dbt]" dbt-snowflake   # Snowflake
pip install "prefect[dbt]" dbt-bigquery    # BigQuery
pip install "prefect[dbt]" dbt-postgres    # Postgres
pip install "prefect[dbt]" dbt-duckdb      # DuckDB (local dev, CI)
pip install "prefect[dbt]" dbt-redshift    # Redshift
pip install "prefect[dbt]" dbt-databricks  # Databricks
```

See the [dbt adapter list](https://docs.getdbt.com/docs/supported-data-platforms) for every supported warehouse.

## `prefect-dbt` extras (block-based config)

If you want to *manage* dbt profiles from Prefect rather than from `profiles.yml` — the [legacy block-based configuration](/docs/integrations/prefect-dbt/legacy.md) — `prefect-dbt` ships extras that bundle the matching dbt adapter together with Prefect block types:

| Extra | Installs |
| - | - |
| `prefect-dbt[snowflake]` | `dbt-snowflake` + `SnowflakeTargetConfigs` block |
| `prefect-dbt[bigquery]` | `dbt-bigquery` + `BigQueryTargetConfigs` block |
| `prefect-dbt[postgres]` | `dbt-postgres` + `PostgresTargetConfigs` block |
| `prefect-dbt[all_extras]` | All of the above |

```bash theme={null}
pip install "prefect-dbt[snowflake]"
pip install "prefect-dbt[bigquery]"
pip install "prefect-dbt[postgres]"
pip install -U "prefect-dbt[all_extras]"
```

> [!NOTE]
>
> The extras are only needed for the legacy `DbtCliProfile` / `TargetConfigs` block workflow. If you're using `PrefectDbtRunner` with a normal `profiles.yml`, install the adapter directly as shown above.

## Upgrading

Upgrade to the latest versions of `prefect` and `prefect-dbt`:

```bash theme={null}
pip install -U "prefect[dbt]"
```

Check compatibility notes in the [`prefect-dbt` release notes](/docs/v3/release-notes/integrations/prefect-dbt) before upgrading across minor versions.
