pg_builder 2.1.0 发布,支持 Postgres 15 语法

发布于 2022-11-07,Alexey Borzov
相关开源软件

很高兴宣布发布支持 Postgres 15 语法的 pg_builder PHP 包 (https://github.com/sad-spirit/pg-builder) 更新版本。

pg_builder 2.1.0

pg_builder 是一个用于 Postgres 的查询构建器,基于对 PostgreSQL 自身 SQL 解析器的部分 PHP 重新实现。它支持 Postgres 15 中 SELECT(和 VALUES)、INSERTUPDATEDELETEMERGE 查询的几乎所有语法。

使用 pg_builder,可以从手写查询开始,将其解析为抽象语法树,向该树添加查询部分(以 Node 对象或字符串形式)或删除它们,最后将树转换回 SQL 字符串。

新版本的主要变更

  • 支持解析和构建 MERGE 语句。

  • 拒绝尾部包含非数字字符的数字字面量和位置参数:此前 SELECT 123abc 会被解析为 SELECT 123 AS abc,现在将抛出异常。

完整发布说明 (https://github.com/sad-spirit/pg-builder/blob/v2.1.0/Changelog.md)

该包可以从 Github (https://github.com/sad-spirit/pg-builder/releases/tag/v2.1.0) 下载或使用 Composer 安装:

$ composer require sad_spirit/pg_builder

pg_builder 可以单独使用,与 pg_wrapper (https://github.com/sad-spirit/pg-wrapper) 一起使用则可以运行构建的查询并实现查询参数到 Postgres 类型的透明转换。