2025年9月25日: PostgreSQL 18 发布!

pg_builder 2.1.0 发布,支持 Postgres 15 语法

发布于 2022-11-07,作者 Alexey Borzov
相关开源项目

我很高兴地宣布 pg_builder PHP 包 已更新以支持 Postgres 15 语法并发布了。

pg_builder 2.1.0

pg_builder 是一个 Postgres 查询构建器,其背后是对 PostgreSQL 自身 SQL 解析器的部分 PHP 重写。它支持 Postgres 15 中几乎所有可用的语法,用于 SELECT(及 VALUES)、INSERTUPDATEDELETEMERGE 查询。

使用 pg_builder,可以从手动编写的查询开始,将其解析成抽象语法树(Abstract Syntax Tree),然后向该树添加查询部分(可以是 Node 对象或字符串),或者从中移除它们,最后将树转换回 SQL 字符串。

新版本的主要变更

  • 允许解析和构建 MERGE 语句。
  • 拒绝带有非数字后缀的数字字面量和位置参数:以前 SELECT 123abc 会被解析为 SELECT 123 AS abc,现在它将抛出异常。

完整发行说明

该包可以从 Github 下载 或使用 Composer 安装

$ composer require sad_spirit/pg_builder

pg_builder 可以单独使用,与 pg_wrapper 一起使用,可以透明地将查询参数转换为 Postgres 类型来运行构建好的查询。