# Migrating from Steampipe to Powerpipe

> Play your favorite Steampipe hits, and enjoy some new ones.

By Turbot Team
Published: 2024-03-06


Steampipe users have enjoyed the built-in dashboards-as-code features since [Steampipe CLI v0.13](https://steampipe.io/blog/release-0-13-0). With Powerpipe we wanted to make those same features available for other databases. That's one reason we've [decoupled](https://steampipe.io/blog/steampipe-unbundled) dashboards from the Steampipe CLI and dashboard server: so you can use Powerpipe with your own database.

Powerpipe includes the [43 Steampipe mods](https://hub.powerpipe.io/?engines=steampipe) to visualize AWS, Azure, GCP, GitHub, Terraform and more. And nine ready-to-use Powerpipe mods show you how to visualize data in [Postgres](https://hub.powerpipe.io/?engines=postgres), [SQLite](https://hub.powerpipe.io/?engines=sqlite), [DuckDB](https://hub.powerpipe.io/?engines=duckdb), and [MySQL](https://hub.powerpipe.io/?engines=mysql)!

If you're using Steampipe today to run dashboards and/or benchmarks, that all still works, but over time we'll deprecate these uses of Steampipe in favor of Powerpipe.

Powerpipe extends your Steampipe superpowers: it's database-agnostic, with dashboards that filter and group. Of course it also does what you've always been doing.

## Run Steampipe as usual

Let's assume you've [installed Steampipe](https://steampipe.io/downloads) along with [AWS plugin](https://hub.steampipe.io/plugins/turbot/aws) and are running Steampipe as a service (`steampipe service start`).

## Add Powerpipe

Now you [install Powerpipe](https://powerpipe.io/downloads).

Here are some common operations in Steampipe along with their Powerpipe counterparts.

## Run a dashboard

| action | Steampipe | Powerpipe |
| --- | --- | --- |
| Install AWS Insights | `steampipe mod install github.com/turbot/steampipe-mod-aws-insights` | `powerpipe mod install github.com/turbot/steampipe-mod-aws-insights` |
| Start dashboard server | `steampipe dashboard` | `powerpipe server` |
| Browse to dashboards | http://localhost:9194 | http://localhost:9033 |

See [Powerpipe dashboards](/docs/run/dashboard) for details.

## Run a benchmark

| action | Steampipe | Powerpipe |
| --- | --- | --- |
| Install AWS Compliance | `steampipe mod install github.com/turbot/steampipe-mod-aws-compliance` | `powerpipe mod install github.com/turbot/steampipe-mod-aws-compliance` |
| Start dashboard server | `steampipe dashboard` | `powerpipe server` |
| Browse to dashboards | http://localhost:9194 | http://localhost:9033 |
| Run a benchmark in your terminal | `steampipe check benchmark.cis_v300` | `powerpipe benchmark run cis_v300` |

See [Running benchmarks](/docs/run/benchmark) for details.

## Run a query

| action | Steampipe | Powerpipe |
| --- | --- | --- |
| List queries | `steampipe query list` | `powerpipe query list` |
| Run named query | `steampipe query query_name` | `powerpipe query query_name` |
| Run literal query | `steampipe query "sql statement"` | `powerpipe query run "sql statement"` |

See [Powerpipe query](/docs/reference/cli/query) for details.

## File extensions

| extension          | Steampipe | Powerpipe |
| ------------------ | --------- | --------- |
| HCL code for a mod | `.sp`     | `.pp`     |
| Config info        | `.spc`    | `.ppc`    |
| Snapshots          | `.sps`    | `.pps`    |
| Variables          | `.spvars` | `.ppvars` |

See [dashboards](/docs/reference/cli/dashboard), [benchmarks](/docs/reference/cli/benchmark), and [config files](/docs/reference/config-files) for details.

## Environment variables

| Steampipe                | Powerpipe                |
| ------------------------ | ------------------------ |
| `STEAMPIPE_LOG_LEVEL`    | `POWERPIPE_LOG_LEVEL`    |
| `STEAMPIPE_MAX_PARALLEL` | `POWERPIPE_MAX_PARALLEL` |
| `PIPES_TOKEN`            | `PIPES_TOKEN`            |

Many variables carry over from Steampipe, but Powerpipe adds new ones like `POWERPIPE_DATABASE`. See [Powerpipe Environment Variables](/docs/reference/env-vars) for details.

## Passing input variables

| Steampipe | Powerpipe |
| --- | --- |
| `steampipe query --var=instance_state="running"` | `powerpipe query --var=instance_state="running"` |
| `steampipe check all --var-file='tags.spvars'` | `powerpipe benchmark run all --var-file='tags.ppvars'` |

See [Passing Input Variables](/docs/build/mod-variables#passing-input-variables) for more examples.

## Change databases

Powerpipe defaults to a local Steampipe instance (`postgres://steampipe@127.0.0.1:9193/steampipe`) but you can change to another database in several ways.

### Using `--database`

```hcl
powerpipe benchmark run cis_v120 --database postgres://myusername:passworrd@mydbserver.mydomain.com:9193/steampipe
```

or

```hcl
powerpipe server --database  postgres://myusername:passworrd@mydbserver.mydomain.com:9193/steampipe
```

See [Selecting a database](/docs/run/#selecting-a-database) for more examples.

### Using a workspace

```hcl
workspace "my_workspace" {
  database = "postgres://my_username:passsord@db1.jpeterman.com:5432/steampipe"
}
```

or

```hcl
workspace "my_workspace" {
  database = "sqlite:./my_sqlite.db"
}
```

See [Managing workspaces](/docs/run/workspaces) for more examples.

## Use the Powerpipe Hub

The Steampipe Hub will redirect you to the [Powerpipe Hub](https://hub.powerpipe.io) where, under a fresh coat of paint, you'll find all your favorite mods.

## Read the Powerpipe docs

The Steampipe docs are also spruced up at [powerpipe.io/docs](https://powerpipe.io/docs).

## Enjoy the upgrade!

Rest assured that all v0.x versions of Steampipe mods will work in both Steampipe and Powerpipe. But note that from v1.0.0 onward, mods will be in Powerpipe format only.

Once you're settled in, we encourage you to try a few things. If you run benchmarks, turn on filters and grouping to slice and dice your benchmark results. If you build dashboards, check out some of the [new mods](https://hub.powerpipe.io/mods/turbot/rnacentral) that work with non-Steampipe databases and schemas. And as always, [let us know](https://turbot.com/community/join) your thoughts.
