pgfmt 2.1: in-place formatting and pg_dump-compatible output

From: "Gavin M(dot) Roy via PostgreSQL Announce" <announce-noreply(at)postgresql(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org>
Subject: pgfmt 2.1: in-place formatting and pg_dump-compatible output
Date: 2026-06-18 19:03:22
Message-ID: 178180940244.774.1804930164641759759@wrigleys.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-announce

[pgfmt](https://gmr.github.io/pgfmt/) 2.1 lands two headline features, plus a steady stream of formatting coverage improvements driven by libpgfmt. It is also now installable from a Homebrew tap.

# Install via Homebrew

`brew tap gmr/pgfmt && brew install pgfmt`

The install script, cargo install pgfmt, and [prebuilt release binaries](https://github.com/gmr/pgfmt/releases/tag/v2.1.7) all remain available.

# In-place formatting

`--inplace` / `-i` writes formatted output back to the source file instead of stdout, preserving the original file permissions. It takes multiple files:

`pgfmt -i query1.sql query2.sql`

# pg_dump style

`pgfmt --style pg_dump` (aliases `pgdump`, `postgres`) reproduces PostgreSQL's `ruleutils.c` deparser layout, the output you get from `pg_get_viewdef` and `pg_get_functiondef`. On genuine deparser output it is byte-idempotent: format a catalog dump and you get the same bytes back. Useful for diffing migrations against what PostgreSQL actually stores.

# Other improvements

The 2.1.x line also expanded formatting coverage across SQL and PL/pgSQL and fixed several correctness bugs, including typed string literals `(INTERVAL '2 days')` that were previously dropped. Catalog-dumped views and
functions that used to fail now format cleanly.

[See the release notes for the full list](https://github.com/gmr/pgfmt/releases).

Browse pgsql-announce by date

  From Date Subject
Next Message pgAdmin Development Team via PostgreSQL Announce 2026-06-19 00:46:15 pgAdmin 4 v9.16 Released
Previous Message PoWA via PostgreSQL Announce 2026-06-16 14:36:11 powa-archivist 5.1.2 is out!