pgfmt¶
A PostgreSQL SQL formatter with multiple style options.
pgfmt parses SQL using pgparse (PostgreSQL's own parser via libpg_query) and reformats it according to one of several well-known style guides.
Installation¶
Quick Start¶
# Format a file
pgfmt query.sql
# Format from stdin
echo "SELECT a,b FROM t WHERE x=1" | pgfmt
# Choose a style
pgfmt --style dbt query.sql
Available Styles¶
| Style | Keywords | Layout | Commas | Indent |
|---|---|---|---|---|
| river (default) | UPPERCASE | Right-aligned river | trailing | river |
| aweber | UPPERCASE | River, JOINs in river | trailing | river |
| mattmc3 | lowercase | River, leading commas | leading | river |
| mozilla | UPPERCASE | Left-aligned | trailing | 4-space |
| dbt | lowercase | Left-aligned, blank lines | trailing | 4-space |
| gitlab | UPPERCASE | Left-aligned | trailing | 2-space |
| kickstarter | UPPERCASE | Left-aligned, ON same line | trailing | 2-space |