The Steampipe Postgres Foreign Data Wrapper (FDW) is a PostgreSQL 14.0 extension that is used by Steampipe plugins to interface with Postgres. Similar to Multicorn for Python, the Steampipe FDW simplifies writing foreign data wrappers in Go for use in plugins.
Steampipe uses a Postgres Foreign Data Wrapper to present data from external systems and services as database tables. The Steampipe Foreign Data Wrapper (FDW) provides a Postgres extension that allows Postgres to connect to external data in a standardized way. The Steampipe FDW does not directly interface with external systems, but instead relies on plugins to implement the API/provider specific code and return it in a standard format via gRPC. This approach simplifies extending Steampipe as the Postgres-specific logic is encapsulated in the FDW, and API and service specific code resides only in the plugin.
See the Writing Plugins guide to get started writing Steampipe plugins.
The Steampipe community can be found on Slack, where you can ask questions, voice ideas, and share your projects.
Our Code of Conduct applies to all Steampipe community channels.
Please see CONTRIBUTING.md.
Make sure that you have the following installed in your system:
Postgresql v14
go
gcc
for Linux
For instructions on how to install PostgreSQL, please visit: https://www.postgresql.org/download/
For instruction on how to install
golang
, please visit: https://go.dev/dl/
Steps:
- Clone this repository onto your system
- Change to the cloned directory
- Run the following commands:
$ make
This will compile the FDW (steampipe_postgres_fdw.so
) along with the control
and sql
file in the build-$PLATFORM
directory. This will install the compiled FDW into the default Steampipe installation directory (~/.steampipe
) - if it exists.
This open source library is licensed under the GNU Affero General Public License v3.