PostgreSQL: AI 时代的首选数据库

John Doe 一月 5, 2026

摘要:归根结底,数据库是 IT 行业的一种生产工具,决定应该采用什么生产工具,还是要看生产效率。

目录

image

从互联网时代(Web 2.0)到 AI 时代,数据库的生态位发生了本质的变化,导致开发者的首选从 MySQL 逐渐转向 Postgres。

在互联网时代,核心诉求是高并发、简单的 CRUD(增删改查)。MySQL 凭借其简单、极致的读写性能和易用的 LAMP 方案称王。

而在 AI 时代,核心诉求变成了面向 AI 的开发者交互体验、复杂的逻辑推理、以及与大模型(LLM)的深度集成。这种转变极大地改变了开发者的编程方式。


数据处理与分析:AI 辅助的自然语言交互

MySQL:优化器倾向于简单的 OLTP(事务处理)查询。面对相对复杂的嵌套查询(子查询)、CTE(公用表表达式)或窗口函数时,性能有时不可预测。

Postgres:强大的查询优化器和执行器,对复杂 SQL 的支持符合 SQL 标准。

编程方式的改变

现在开发者使用开发工具时,往往集成 LLM(如微软的 VS Code for PostgreSQL),借助智能辅助来编写查询。

1. 用户问:“找出过去三个月消费增长最快的前 10% 用户,并分析他们的主要购买类别。”

2. AI 生成一段包含WITH子句(CTE)、窗口函数RANK()和多表JOIN的 60 行 SQL 代码。

3. Postgres 能够稳定、高效地执行这段 AI 生成的复杂代码,而 MySQL 可能会因为执行计划极差而超时。

因为 Postgres 支持的 SQL 特性更丰富,逻辑表达能力更强,导致 AI 写 Postgres 的 SQL 往往比写 MySQL 的 SQL 准确率更高。

另外,借助 Postgres 的扩展能力,可以使用pg_duckdb集成 DuckDB 的分析能力,对于超大数据集的分析,还可以使用pg_clickhouse集成 ClickHouse 的分析能力。

从“应用层处理业务逻辑”到“计算逻辑下沉到数据库”

在 MySQL 时代,为了减轻数据库压力,开发者遵循 “数据库仅作存储” 的原则。复杂的业务逻辑通常在 Java/Python 应用层处理,数据库只运行简单的 SELECT * FROM table WHERE id = ?

AI 时代的编程改变:

AI 应用(特别是 Agent 和 RAG)通常需要处理海量上下文,数据搬运成本极高。Postgres 强大的计算能力允许开发者将逻辑下沉。

MySQL 的痛点:存储过程语法晦涩,调试困难,且性能优化有限,开发者尽量避免使用。

Postgres 的优势

  • 强大的 PL/PgSQL:支持复杂的控制流、异常处理。
  • AI 赋能:以前开发者因为“难写”而不写存储过程。现在,通过自然语言(如 ChatGPT/Claude),开发者可以说:“请帮我写一个 PL/PgSQL 函数,计算用户留存并进行加权打分。” AI 生成的高质量存储过程,直接利用了 Postgres 的算力,使得 “数据库即后端” 成为可能。

编程范式转变:从 “应用层处理业务逻辑” 到 “计算逻辑下沉到数据库”,借助 AI 生成的复杂 SQL 和存储过程,大大简化了中间层代码。

向量化编程:从关键词匹配到语义搜索

这是 AI 时代最显著的特征。AI 应用的核心是 向量嵌入词(Vector Embeddings)

MySQL 的困境:MySQL 对向量搜索的支持起步较晚且生态相对封闭。

Postgres 的 pgvector:通过插件机制,Postgres 摇身一变成为了最流行的向量数据库。

编程方式的改变

过去(关键字):开发者编写 LIKE '%apple%'

现在(语义):开发者将文本转化为向量,存入 Postgres 的vector字段,然后使用自然语言进行相似度查询。

开发者不需要引入一个新的专用向量数据库(如 Milvus)来增加架构复杂度,只需在现有的 Postgres 上安装插件。这意味着开发者可以在同一个 SQL 事务中,既查询关系型数据(关系表元组),又查询语义数据(相似的文档)。

-- 典型的 PG 式向量化查询:混合查询
SELECT document_text
FROM documents
WHERE user_id = 123  -- 关系型过滤
ORDER BY embedding <=> '[0.1, 0.3, ...]' -- 向量语义排序
LIMIT 5;

可扩展性:数据库界的“操作系统”

Postgres 的设计哲学是一切皆可扩展。

MySQL:它是简单专一的数据库,如果你想增加一种新的数据类型或数据处理方式,通常需要集成一款新的专用数据库。

Postgres:它提供了扩展接口和 FDW 外部数据包装器,可作为 AI 时代数据管理的抽象框架。

编程方式的改变

很多互联网项目,早期要敏捷迭代快速上线,用 MySQL;内容检索得快,上 ElasticSearch;后期做大数据分析,又要搭 Hadoop。

换成使用 Postgres 后,需要支持全文检索与混合搜索,可以用ParadeDB;需要做数据分析,可以用pg_duckdbpg_clickhouse;AI 时代需要向量搜索,可以用pgvector

开发者不需要为了新特性,去集成新的专用数据库,只需要CREATE EXTENSION。这种搭积木的编程体验,让 Postgres 成为了 AI 技术栈中的万能胶水。开发者只需要懂得如何运用 AI,将自然语言正确地转换为 Postgres 的 SQL 语法,就可以完成各种复杂的数据处理逻辑。

统一所有数据处理工具的 SQL 语法,消除以 MySQL 为中心的 “SQL 方言众多”、“数据割裂”和“运维复杂”难题。使用 AI 将自然语言转换为 Postgres 的 SQL 语法,重构所有数据的处理逻辑,大幅提升 IT 研发的生产效率,实现 IT 应用的智能化交互体验的升级。


总结比较表

维度 互联网时代 (MySQL 范式) AI 时代 (Postgres 范式)
核心数据 结构化文本/数字 向量、JSON、非结构化数据
逻辑位置 Java/Python 应用层处理业务逻辑 数据处理逻辑下沉数据库 (复杂 SQL/存储过程)
代码生成 手写 SQL,尽量简单 AI 生成复杂 SQL/存储过程
查询模式 主键精确匹配 (Where ID=1) 语义搜索 + 混合查询
数据管理方式 追求简单专一、配合多种专用数据库 追求功能丰富、扩展对接专用数据处理能力
开发者体验 全人工开发,需具备各项专业技能 面向 AI 的自然语言交互,聚焦业务需求的理解和描述

结论

Postgres 之所以成为 AI 时代的首选,是因为它不再仅仅是一个“存数据的仓库”,而变成了一个“面向 AI 的数据处理平台”。

在 AI 辅助编程的加持下,Postgres 复杂的特性(如存储过程、复杂查询)不再是开发者的负担,反而变成了强大的武器,完美适配了 AI 应用对数据本地计算和多模数据处理的需求。