pgfmt 2.1: in-place formatting and pg_dump-compatible outputpgfmt 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 Homebrewbrew tap gmr/pgfmt && brew install pgfmt
The install script, cargo install pgfmt, and prebuilt release binaries 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 stylepgfmt --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 improvementsThe 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. |