DeepSeek总结的新 PostgreSQL AI 生态系统
摘要: pgEdge推出的PostgreSQL AI工具栈填补了pgvector的不足,提供从文档处理到AI交互的完整解决方案。工具链包含: pgedge-docloader:支持多格式文档转换与加载 pgedge-vectorizer:文本向量化扩展,支持分块处理与多LLM提供商 pgedge-rag-server:实现检索增强生成(RAG)流程 pgedge-postgres-mcp(测试版)
·
原文地址:https://hdombrovskaya.wordpress.com/wp-content/uploads/2026/02/new-postgres-ai-ecosystem.pdf
新的 PostgreSQL AI 生态系统
日期:2026年2月18日
作者:Shaun Thomas(pgEdge 首席软件工程师)
一、背景介绍
关于 pgEdge
- 专注于分布式 PostgreSQL、双活集群、Postgres AI 工具、云服务、平台自动化和超高可用性的企业
为什么 pgvector 不够用?
pgvector 为 Postgres 添加了向量能力,但存在以下不足:
- 数据加载问题:文档格式多样,需要统一处理
- 向量获取困难:需要将自然语言转换为向量
- 内容太大:长文档无法压缩为单个向量
- Postgres 不是 LLM:无法直接与用户交互
- 向量并非万能:LLM 交互需要更多能力
二、pgEdge AI 工具栈
1. pgedge-docloader - 文档加载器
功能:将各种格式文档转换并加载到 PostgreSQL
支持格式:
- HTML、Markdown、reStructuredText、XML、SGML
核心能力:
- 解析多种文档类型
- 转换为 Markdown 格式
- 提取文档元数据
- 从 Git 拉取文档处理
安装使用:
git clone https://github.com/pgEdge/pgedge-docloader.git
cd pgedge-docloader
make deps && make build && make install
2. pgedge-vectorizer - 向量化工具
功能:Postgres 扩展,将文本转换为嵌入向量
核心能力:
- 文本 → 嵌入向量
- 内容分块处理
- 处理队列 + 工作进程
- 支持 OpenAI、Voyage AI、Ollama
配置示例(OpenAI):
shared_preload_libraries = 'pgedge_vectorizer'
pgedge_vectorizer.provider = 'openai'
pgedge_vectorizer.model = 'text-embedding-3-small'
pgedge_vectorizer.num_workers = 5
使用示例:
-- 启用向量化处理
SELECT pgedge_vectorizer.enable_vectorization(
source_table := 'blog_articles',
source_column := 'content',
chunk_strategy := 'markdown',
chunk_size := 400,
chunk_overlap := 50
);
3. pgedge-rag-server - RAG 服务
功能:Go 语言实现的 RAG 服务,实现检索增强生成
工作流程:
- 监听 HTTP/HTTPS 请求
- 查询向量表获取语义匹配
- 将结果作为上下文发送给 LLM
- 返回 LLM 响应
配置示例:
pipelines:
- name: "blog-rag"
tables:
- table: "blog_articles_content_chunks"
text_column: "content"
vector_column: "embedding"
embedding_llm:
provider: "ollama"
model: "embeddinggemma"
rag_llm:
provider: "ollama"
model: "glm-4.7-flash"
top_n: 5
4. pgedge-postgres-mcp - 模型上下文协议服务
功能:Go 服务,通过 LLM 将用户查询转换为数据库操作
核心能力(测试版):
- 监控 STDIO 或 HTTP/HTTPS 调用
- LLM 将用户查询转为工具调用或 SQL
- 执行数据库查询和工具调用
- LLM 解释结果并返回
提供工具:
count_rows:统计行数execute_explain:执行 EXPLAIN ANALYZEgenerate_embedding:文本 → 向量get_schema_info:获取数据库结构query_database:执行 SQL 查询similarity_search:向量相似度搜索
三、完整流程示例
步骤1:准备数据表
CREATE TABLE blog_articles (
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
author TEXT,
title TEXT,
content TEXT,
file_name TEXT,
publish_date DATE,
last_updated TIMESTAMPTZ NOT NULL DEFAULT now()
);
步骤2:加载文档
pgedge-docloader \
--source ./content \
--db-host localhost \
--db-table blog_articles \
--col-doc-title title \
--col-doc-content content \
--set-column author="Shaun Thomas"
步骤3:向量化处理
SELECT pgedge_vectorizer.enable_vectorization(
source_table := 'blog_articles',
source_column := 'content'
);
步骤4:RAG 查询
curl -X POST http://localhost:8080/v1/pipelines/blog-rag \
-H "Content-Type: application/json" \
-d '{"query": "What is the best database engine?"}'
返回结果:
{
"answer": "根据提供的上下文,关于'最佳'数据库引擎有两种观点:\n\n* **Postgres**:多个文档指出**Postgres**是目前最好的RDBMS引擎。\n* **取决于场景**:有文档指出,'最佳'取决于具体需求。",
"tokens_used": 1506
}
高级查询(带元数据过滤)
curl -X POST http://localhost:8080/v1/pipelines/blog-rag \
-H "Content-Type: application/json" \
-d '{
"query": "What is the best database engine?",
"filter": {
"conditions": [
{"column": "author", "operator": "=", "value": "Shaun Thomas"},
{"column": "publish_date", "operator": ">", "value": "2020-01-01"}
],
"logic": "AND"
}
}'
四、生态系统价值
pgEdge 构建的这套工具链实现了:
- 完整的数据处理流程:从文档加载 → 向量化 → RAG 查询 → LLM 交互
- 模块化设计:各工具可独立使用
- 灵活配置:支持多种 LLM 提供商
- 易于扩展:基于 PostgreSQL 生态
这套工具栈让 PostgreSQL 能够原生支持 AI 应用开发,无需复杂的外部集成。
更多推荐

所有评论(0)