pg_ai_query

AI驱动的 Postgres SQL 查询生成

概览

扩展包名版本分类许可证语言
pg_ai_query0.1.1FEATApache-2.0C++
ID扩展名BinLibLoadCreateTrustReloc模式
2730pg_ai_query-
相关扩展pgml pg4ml vectorize pg_summarize pg_tiktoken

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.1.11817161514pg_ai_query-
RPMPIGSTY0.1.11817161514pg_ai_query_$v-
DEBPIGSTY0.1.11817161514postgresql-$v-ai-query-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el8.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d12.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d13.x86_64
d13.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
u22.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u22.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u24.x86_64
u24.aarch64
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1
PIGSTY 0.1.1

构建

您可以使用 pig build 命令构建 pg_ai_query 扩展的 RPM / DEB 包:

pig build pkg pg_ai_query         # 构建 RPM / DEB 包

安装

您可以直接安装 pg_ai_query 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install pg_ai_query;          # 当前活跃 PG 版本安装
pig ext install -y pg_ai_query -v 18  # PG 18
pig ext install -y pg_ai_query -v 17  # PG 17
pig ext install -y pg_ai_query -v 16  # PG 16
pig ext install -y pg_ai_query -v 15  # PG 15
pig ext install -y pg_ai_query -v 14  # PG 14
dnf install -y pg_ai_query_18       # PG 18
dnf install -y pg_ai_query_17       # PG 17
dnf install -y pg_ai_query_16       # PG 16
dnf install -y pg_ai_query_15       # PG 15
dnf install -y pg_ai_query_14       # PG 14
apt install -y postgresql-18-ai-query   # PG 18
apt install -y postgresql-17-ai-query   # PG 17
apt install -y postgresql-16-ai-query   # PG 16
apt install -y postgresql-15-ai-query   # PG 15
apt install -y postgresql-14-ai-query   # PG 14

创建扩展

CREATE EXTENSION pg_ai_query;

用法

pg_ai_query: AI 驱动的 PostgreSQL SQL 查询生成

pg_ai_query 使用 LLM 提供商(OpenAI、Anthropic、Google Gemini)从自然语言描述生成 SQL 查询。它会自省数据库模式,将自然语言问题翻译为 SQL。

配置

创建 ~/.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"

查询生成

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');

模式发现

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

查询解释

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

直接传入 API 凭证:

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

支持的模型

  • 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

最后修改 2026-03-14: update extension metadata (953cbd0)