cloudquery/pg_gpt
cloudquery/pg_gpt has 456 GitHub stars and 18 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-10 04:24 UTC. Last push 2023-06-04.
Experimental extension that brings OpenAI API to your PostgreSQL to run queries in human language.
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalPostgres <> ChatGPT
Experimental PostgreSQL extension that enables the use of OpenAI GPT API inside PostgreSQL, allowing for queries to be written using natural language.
Demo
https://user-images.githubusercontent.com/1121616/228234378-40c796d3-0a38-465a-92da-9370fb21b93b.mp4
(This demo uses data from the Hacker News and Azure CloudQuery plugins)
How does it work?
The extension sends a subset of the database schema to ChatGPT and asks it to generate a query based on this and the user input.
Before you start
- Note: This plugins sends schema (without the data) to OpenAI GPT API, so it is not recommended to use it on production databases.
- Note: This is an experimental plugin and not officially supported by CloudQuery.
Installation
Requires pgx. Install this first:
cargo install --locked cargo-pgx
cargo pgx init
Now you can install the extension:
git clone https://github.com/cloudquery/pg_gpt
cd pg_gpt
export OPENAI_KEY=<YOUR_KEY>
cargo pgx run
# will drop into psql shell
create extension pg_gpt;
set openai.key = '<YOUR OPENAPI API KEY HERE>'; -- set your key
select gpt('show me all open aws s3 buckets');
-- will output the following query, so you can execute it
-- select * from aws_s3_bucket;
Available Functions
gpt(text)- Generates a query based on the user input and the full database schema. This works fine for databases with small schemas.gpt_tables(table_pattern, text)- Similar to gpt, but only uses the tables that match the pattern. The pattern is passed to atable_name LIKEquery, so%can be used as wildcard.
Installing the extension on an existing Postgres instance
First run:
cargo pgx install
This places the extension in the postgres extensions directory. Then, in your postgres instance, run:
create extension pg_gpt;
set openai.key = '<YOUR OPENAPI API KEY HERE>';
-- proceed to use the extension
Limitations
- Schema Size - Currently we use gpt-3.5-turbo, which is limited to 4096 tokens. Use
gpt_tablesto narrow down the set of tables.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,486 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,790 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,332 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,455 stars