pg_ai_query

pg_ai_query

pg_ai_query : AI-powered SQL query generation for PostgreSQL

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
2730
pg_ai_query
pg_ai_query
0.1.1
FEAT
Apache-2.0
C++
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
pgml
pg4ml
vectorize
pg_summarize
pg_tiktoken

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
0.1.1
18
17
16
15
14
pg_ai_query-
RPM
PIGSTY
0.1.1
18
17
16
15
14
pg_ai_query_$v-
DEB
PIGSTY
0.1.1
18
17
16
15
14
postgresql-$v-ai-query-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
MISS
MISS
MISS
MISS
MISS
el8.aarch64
MISS
MISS
MISS
MISS
MISS
el9.x86_64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
el9.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
el10.x86_64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
el10.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
d12.x86_64
MISS
MISS
MISS
MISS
MISS
d12.aarch64
MISS
MISS
MISS
MISS
MISS
d13.x86_64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
d13.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
u22.x86_64
MISS
MISS
MISS
MISS
MISS
u22.aarch64
MISS
MISS
MISS
MISS
MISS
u24.x86_64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
u24.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PackageVersionOSORGSIZEFile URL
pg_ai_query_180.1.1el9.x86_64pigsty967.9 KiBpg_ai_query_18-0.1.1-1PIGSTY.el9.x86_64.rpm
pg_ai_query_180.1.1el9.aarch64pigsty880.6 KiBpg_ai_query_18-0.1.1-1PIGSTY.el9.aarch64.rpm
pg_ai_query_180.1.1el10.x86_64pigsty899.5 KiBpg_ai_query_18-0.1.1-1PIGSTY.el10.x86_64.rpm
pg_ai_query_180.1.1el10.aarch64pigsty846.4 KiBpg_ai_query_18-0.1.1-1PIGSTY.el10.aarch64.rpm
postgresql-18-ai-query0.1.1d13.x86_64pigsty842.3 KiBpostgresql-18-ai-query_0.1.1-1PIGSTY~trixie_amd64.deb
postgresql-18-ai-query0.1.1d13.aarch64pigsty760.5 KiBpostgresql-18-ai-query_0.1.1-1PIGSTY~trixie_arm64.deb
postgresql-18-ai-query0.1.1u24.x86_64pigsty795.0 KiBpostgresql-18-ai-query_0.1.1-1PIGSTY~noble_amd64.deb
postgresql-18-ai-query0.1.1u24.aarch64pigsty771.8 KiBpostgresql-18-ai-query_0.1.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_ai_query_170.1.1el9.x86_64pigsty967.8 KiBpg_ai_query_17-0.1.1-1PIGSTY.el9.x86_64.rpm
pg_ai_query_170.1.1el9.aarch64pigsty881.9 KiBpg_ai_query_17-0.1.1-1PIGSTY.el9.aarch64.rpm
pg_ai_query_170.1.1el10.x86_64pigsty899.4 KiBpg_ai_query_17-0.1.1-1PIGSTY.el10.x86_64.rpm
pg_ai_query_170.1.1el10.aarch64pigsty846.4 KiBpg_ai_query_17-0.1.1-1PIGSTY.el10.aarch64.rpm
postgresql-17-ai-query0.1.1d13.x86_64pigsty845.8 KiBpostgresql-17-ai-query_0.1.1-1PIGSTY~trixie_amd64.deb
postgresql-17-ai-query0.1.1d13.aarch64pigsty760.1 KiBpostgresql-17-ai-query_0.1.1-1PIGSTY~trixie_arm64.deb
postgresql-17-ai-query0.1.1u24.x86_64pigsty795.0 KiBpostgresql-17-ai-query_0.1.1-1PIGSTY~noble_amd64.deb
postgresql-17-ai-query0.1.1u24.aarch64pigsty771.8 KiBpostgresql-17-ai-query_0.1.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_ai_query_160.1.1el9.x86_64pigsty967.8 KiBpg_ai_query_16-0.1.1-1PIGSTY.el9.x86_64.rpm
pg_ai_query_160.1.1el9.aarch64pigsty881.0 KiBpg_ai_query_16-0.1.1-1PIGSTY.el9.aarch64.rpm
pg_ai_query_160.1.1el10.x86_64pigsty899.5 KiBpg_ai_query_16-0.1.1-1PIGSTY.el10.x86_64.rpm
pg_ai_query_160.1.1el10.aarch64pigsty846.4 KiBpg_ai_query_16-0.1.1-1PIGSTY.el10.aarch64.rpm
postgresql-16-ai-query0.1.1d13.x86_64pigsty841.1 KiBpostgresql-16-ai-query_0.1.1-1PIGSTY~trixie_amd64.deb
postgresql-16-ai-query0.1.1d13.aarch64pigsty759.0 KiBpostgresql-16-ai-query_0.1.1-1PIGSTY~trixie_arm64.deb
postgresql-16-ai-query0.1.1u24.x86_64pigsty795.6 KiBpostgresql-16-ai-query_0.1.1-1PIGSTY~noble_amd64.deb
postgresql-16-ai-query0.1.1u24.aarch64pigsty771.8 KiBpostgresql-16-ai-query_0.1.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_ai_query_150.1.1el9.x86_64pigsty967.4 KiBpg_ai_query_15-0.1.1-1PIGSTY.el9.x86_64.rpm
pg_ai_query_150.1.1el9.aarch64pigsty881.0 KiBpg_ai_query_15-0.1.1-1PIGSTY.el9.aarch64.rpm
pg_ai_query_150.1.1el10.x86_64pigsty899.3 KiBpg_ai_query_15-0.1.1-1PIGSTY.el10.x86_64.rpm
pg_ai_query_150.1.1el10.aarch64pigsty846.4 KiBpg_ai_query_15-0.1.1-1PIGSTY.el10.aarch64.rpm
postgresql-15-ai-query0.1.1d13.x86_64pigsty841.4 KiBpostgresql-15-ai-query_0.1.1-1PIGSTY~trixie_amd64.deb
postgresql-15-ai-query0.1.1d13.aarch64pigsty758.6 KiBpostgresql-15-ai-query_0.1.1-1PIGSTY~trixie_arm64.deb
postgresql-15-ai-query0.1.1u24.x86_64pigsty795.2 KiBpostgresql-15-ai-query_0.1.1-1PIGSTY~noble_amd64.deb
postgresql-15-ai-query0.1.1u24.aarch64pigsty771.6 KiBpostgresql-15-ai-query_0.1.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_ai_query_140.1.1el9.x86_64pigsty967.8 KiBpg_ai_query_14-0.1.1-1PIGSTY.el9.x86_64.rpm
pg_ai_query_140.1.1el9.aarch64pigsty881.0 KiBpg_ai_query_14-0.1.1-1PIGSTY.el9.aarch64.rpm
pg_ai_query_140.1.1el10.x86_64pigsty899.3 KiBpg_ai_query_14-0.1.1-1PIGSTY.el10.x86_64.rpm
pg_ai_query_140.1.1el10.aarch64pigsty846.4 KiBpg_ai_query_14-0.1.1-1PIGSTY.el10.aarch64.rpm
postgresql-14-ai-query0.1.1d13.x86_64pigsty841.6 KiBpostgresql-14-ai-query_0.1.1-1PIGSTY~trixie_amd64.deb
postgresql-14-ai-query0.1.1d13.aarch64pigsty760.7 KiBpostgresql-14-ai-query_0.1.1-1PIGSTY~trixie_arm64.deb
postgresql-14-ai-query0.1.1u24.x86_64pigsty795.2 KiBpostgresql-14-ai-query_0.1.1-1PIGSTY~noble_amd64.deb
postgresql-14-ai-query0.1.1u24.aarch64pigsty771.7 KiBpostgresql-14-ai-query_0.1.1-1PIGSTY~noble_arm64.deb

Source

pig build pkg pg_ai_query;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install pg_ai_query;		# install via package name, for the active PG version

pig install pg_ai_query -v 18;   # install for PG 18
pig install pg_ai_query -v 17;   # install for PG 17
pig install pg_ai_query -v 16;   # install for PG 16
pig install pg_ai_query -v 15;   # install for PG 15
pig install pg_ai_query -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION pg_ai_query;

Usage

pg_ai_query: AI-powered SQL query generation for PostgreSQL

pg_ai_query generates SQL queries from natural language descriptions using LLM providers (OpenAI, Anthropic, Google Gemini). It introspects your database schema and translates plain-English questions into SQL.

Configuration

Create ~/.pg_ai.config:

[general]
log_level = "INFO"
enable_logging = false

[query]
enforce_limit = true
default_limit = 1000

[response]
show_explanation = true
show_warnings = true

[openai]
api_key = "your-openai-api-key"
default_model = "gpt-4o"

[anthropic]
api_key = "your-anthropic-api-key"
default_model = "claude-3-5-sonnet-20241022"

[gemini]
api_key = "your-google-api-key"
default_model = "gemini-2.5-flash"

Query Generation

SELECT generate_query('show all customers');
SELECT generate_query('monthly sales trend for the last year by category');
SELECT generate_query('customers who have not placed orders in the last 6 months');

Schema Discovery

SELECT get_database_tables();
SELECT get_table_details('orders');

Query Explanation

SELECT explain_query('SELECT * FROM users WHERE created_at > NOW() - INTERVAL ''7 days''');

Pass API credentials directly:

SELECT explain_query('SELECT * FROM products WHERE price > 100', 'your-api-key', 'anthropic');

Supported Models

  • OpenAI: gpt-4o, gpt-4o-mini
  • Anthropic: claude-3-5-sonnet-20241022, claude-3-haiku-20240307
  • Google Gemini: gemini-2.5-pro, gemini-2.5-flash
Last updated on