{"id":13513988,"url":"https://github.com/turbot/steampipe-postgres-fdw","last_synced_at":"2025-05-07T17:50:09.298Z","repository":{"id":36983506,"uuid":"331033053","full_name":"turbot/steampipe-postgres-fdw","owner":"turbot","description":"The Steampipe foreign data wrapper (FDW) is a zero-ETL product that provides Postgres foreign tables which translate queries into API calls to cloud services and APIs. It's bundled with Steampipe and also available as a set of standalone extensions for use in your own Postgres database.","archived":false,"fork":false,"pushed_at":"2025-05-01T04:54:03.000Z","size":9616,"stargazers_count":79,"open_issues_count":54,"forks_count":18,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2025-05-07T17:49:50.029Z","etag":null,"topics":["aws","azure","data","devsecops","gcp","golang","hacktoberfest","kubernetes","postgres","postgresql","postgresql-fdw","security","sql","steampipe","steampipe-engine"],"latest_commit_sha":null,"homepage":"https://steampipe.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/turbot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-01-19T15:58:12.000Z","updated_at":"2025-05-01T04:54:07.000Z","dependencies_parsed_at":"2023-09-26T19:56:26.625Z","dependency_job_id":"2a2449a4-f6a7-427c-bcac-d5e3a4d084b5","html_url":"https://github.com/turbot/steampipe-postgres-fdw","commit_stats":null,"previous_names":[],"tags_count":248,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbot%2Fsteampipe-postgres-fdw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbot%2Fsteampipe-postgres-fdw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbot%2Fsteampipe-postgres-fdw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbot%2Fsteampipe-postgres-fdw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/turbot","download_url":"https://codeload.github.com/turbot/steampipe-postgres-fdw/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931391,"owners_count":21827104,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","azure","data","devsecops","gcp","golang","hacktoberfest","kubernetes","postgres","postgresql","postgresql-fdw","security","sql","steampipe","steampipe-engine"],"created_at":"2024-08-01T05:00:42.038Z","updated_at":"2025-05-07T17:50:09.290Z","avatar_url":"https://github.com/turbot.png","language":"Go","readme":"# Steampipe Postgres FDW\n\n## Overview\n\nThe Steampipe Postgres Foreign Data Wrapper (FDW) is a Postgres extension that translates APIs to foreign tables. It does not directly interface with external systems, but instead relies on plugins to implement API- or provider-specific code that returns data in a standard format via gRPC. See the [Writing Plugins](https://steampipe.io/docs/develop/writing-plugins) guide to get started writing Steampipe plugins.\n\nThe FDW is part of the [Steampipe project](https://github.com/turbot/steampipe). Bundled with the Steampipe CLI, it works with one or more of the [plugins](https://hub.steampipe.io/plugins) you install in Steampipe. You can also [install](https://steampipe.io/docs/steampipe_postgres/install) one or more plugin-specific extensions in your own instance of Postgres.\n\n## Getting Started\n\nTo use the FDW with Steampipe, [download Steampipe](https://steampipe.io/downloads) and use it to install one or more plugins.\n\nYou can also use a standalone installer that enables you to choose a plugin and download the FDW for that plugin.\n\n**[Installation guide →](https://steampipe.io/docs/steampipe_sqlite/install)**\n\n## Developing\n\n### Building the FDW for Steampipe\n\nMake sure that you have the following installed in your system:\n1. `Postgresql v14` \n1. `go`\n1. `gcc` for Linux\n\n\u003e For instructions on how to install PostgreSQL, please visit: https://www.postgresql.org/download/\n\u003e \n\u003e For instruction on how to install `golang`, please visit: https://go.dev/dl/\n\nSteps:\n1. Clone this repository onto your system\n1. Change to the cloned directory\n1. Run the following commands:\n```\n$ make\n```\n\nThis 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.\n\n### Building the FDW as a standalone extension\n\nTo build the FDW for one particular plugin, and run it as a standalone extension in any PostgreSQL database without relying on Steampipe:\n\nMake sure that you have the following installed in your system:\n1. `Postgresql v14` \n1. `go`\n1. `gcc` for Linux\n\nSteps:\n1. Clone this repository onto your system\n1. Change to the cloned directory\n1. Run the following commands:\n```\n$ make standalone plugin=\"\u003cplugin alias\u003e\"\n```\nReplace plugin alias with the alias or short name of your plugin.\n\nThis command will compile the FDW specifically for the chosen plugin, and the resulting binary, control file, and SQL files will be generated.\n\n#### Example\n\nSuppose you want to build the FDW for a plugin with an alias `aws` from a GitHub repository located at https://github.com/turbot/steampipe-plugin-aws. You would run the following command:\n```\n$ make standalone plugin=\"aws\"\n```\n\n#### To build a local plugin or an external plugin(not maintained by Turbot)\n\nSuppose you want to build the FDW for your own plugin(not maintained by Turbot) located at https://github.com/francois2metz/steampipe-plugin-scalingo. You would need to build the FDW by running the following command:\n```\n$ make standalone plugin=\"scalingo\" plugin_github_url=\"github.com/francois2metz/steampipe-plugin-scalingo\"\n```\n\n#### Installing the built standalone FDW\n\nOnce you have built the standalone FDW, the binaries will be available in a folder `build-Darwin` or `build-Linux` depending on your OS. Run the `install.sh` script available in that directory. This will detect the installed PostrgeSQL version and location and copy the binaries there.\n\n```\n➜  steampipe-postgres-fdw ✗ cd build-Darwin\n➜  build-Darwin ✗ ./install.sh \n\nDiscovered:\n- PostgreSQL version:   14\n- PostgreSQL location:  /opt/homebrew/Cellar/postgresql@14/14.13_1\n\nInstall Steampipe PostgreSQL FDW for version 14 in /opt/homebrew/Cellar/postgresql@14/14.13_1? (Y/n): \n\nInstalling...\n\nSuccessfully installed steampipe_postgres_scalingo extension!\n\nFiles have been copied to:\n- Library directory: /opt/homebrew/lib/postgresql@14\n- Extension directory: /opt/homebrew/share/postgresql@14/extension/\n```\n\n## Open Source \u0026 Contributing\n\nThis repository is published under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license. Please see our [code of conduct](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md). We look forward to collaborating with you!\n\n[Steampipe](https://steampipe.io) is a product produced exclusively by [Turbot HQ, Inc](https://turbot.com). It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our [Open Source FAQ](https://turbot.com/open-source).\n\n\n","funding_links":[],"categories":["Go","hacktoberfest"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbot%2Fsteampipe-postgres-fdw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturbot%2Fsteampipe-postgres-fdw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbot%2Fsteampipe-postgres-fdw/lists"}