September 26, 2024: PostgreSQL 17 Released!

pg_builder 2.1.0 released with support for Postgres 15 syntax

Posted on 2022-11-07 by Alexey Borzov
Related Open Source

I'm pleased to announce the release of pg_builder PHP package updated for Postgres 15 syntax.

pg_builder 2.1.0

pg_builder is a query builder for Postgres backed by a partial PHP reimplementation of PostgreSQL's own SQL parser. It supports almost all syntax available in Postgres 15 for SELECT (and VALUES), INSERT, UPDATE, DELETE, and MERGE queries.

With pg_builder it is possible to start with a manually written query, parse it into an Abstract Syntax Tree, add query parts (either as Node objects or as strings) to this tree or remove them, and finally convert the tree back to an SQL string.

Main changes in the new release

  • Allow parsing and building MERGE statements.
  • Reject numeric literals and positional parameters with trailing non-digits: previously SELECT 123abc was parsed as SELECT 123 AS abc, now it will throw an exception.

Full release notes

The package can be downloaded from Github or installed with Composer:

$ composer require sad_spirit/pg_builder

pg_builder can be used on its own, using it together with pg_wrapper allows to run the built queries with transparent conversion of query parameters to Postgres types.