pgfmt 2.1: formateo en el mismo archivo y salida compatible con pg_dump
La versión 2.1 de pgfmt introduce dos novedades destacadas, junto con múltiples mejoras en las capacidades de formateo gracias a la evolución de libpgfmt. Además, ahora es posible instalarla fácilmente mediante un repositorio (tap) de Homebrew.
Instalación con Homebrew
brew tap gmr/pgfmt && brew install pgfmt
El script de instalación, el comando cargo install pgfmt y los binarios precompilados de las versiones siguen estando disponibles.
Formateo en el archivo original
--inplace / -i escribe la salida formateada nuevamente en el archivo fuente en lugar de enviarla a stdout, conservando los permisos originales del archivo. Acepta múltiples archivos:
pgfmt -i query1.sql query2.sql
Estilo pg_dump
pgfmt --style pg_dump (aliases pgdump, postgres) reproduce el formato generado por el deparser de ruleutils.c de PostgreSQL, es decir, la estructura que generan funciones como pg_get_viewdef y pg_get_functiondef. Cuando se aplica sobre una salida auténtica del deparser, el resultado es completamente indempotente a nivel binario: si se formatea un volcado del catálogo, se recuperan exactamente los mismos bytes originales. Esto resulta especialmente útil para comparar migraciones con la definición real que PostgreSQL tiene almacenada.
Otras mejoras
La serie 2.1.x incorporó una mayor cobertura de formateo para código SQL y PL/pgSQL, además de solucionar diversos problemas que afectaban a la correcta interpretación del código, como el caso de los literales de cadena con tipo explícito (por ejemplo, INTERVAL '2 days' ), que anteriormente eran eliminados durante el proceso. Las vistas y funciones extraídas mediante volcados del catálogo, que antes provocaban errores, ahora se formatean sin problemas.
Consulten las notas de la versión para conocer el detalle completo de los cambios.

