Formatando e Indentando códigos SQL (PostgreSQL) automaticamente
Ao programar, ter uma IDE que te auxilie a melhor visualizar seu código aumenta em muito a produtividade.
O SQL não é uma linguagem com muitos formatadores automáticos bons, ainda mais quando usamos comandos de algum dialeto tipo PostgreSQL. Gosto muito do Visual Studio Code para programar em qualquer linguagem porque ele tem uma série de plugins para diversas linguagens, inclusive SQL.
Aqui abaixo vai uma análise dos formatadores de SQL focados em PostgreSQL dentro da IDE Visual Studio Code.
Plugins de formatação e indentação para o Visual Studio Code
Como pedir ao Visual Studio Code para formatar/indentar seu código sql?
Você pode salvar seu código com a extensão .sql ou informar a linguagem do código na própria IDE e apertar:
- no Windows [Shift+Alt+F]
Ou alternativamente apertar o botão direito do mouse em cima do código e clicar em "Format Document With..." e selecionar o formatador desejado:

Para configurar um formatador padrão para arquivos SQL:
File > Preferences > Settings > Clique no arquivinho no canto superior direito da tela (Open Settings JSON):
procure pela propriedade "[sql]" e digite o código do plugin responsável pela formatação. Neste exemplo está sendo usado o SQLTools - Matheus Teixeira:
"[sql]": { "editor.defaultFormatter": "mtxr.sqltools" }
PostgreSQL - Microsoft
O primeiro formatador que instalei foi PostgreSQL da Microsoft.
A auto indentação dele é bem ruim, deixa o código bem poluído e difícil de ler
SQLTools - Matheus Teixeira
O segundo formatador que instalei foi SQLTools de Matheus Teixeira e ela traz suporte a diversos bancos de dados além do PostgreSQL. Permite também permite acessar o bancos de dados de forma gráfica, então ela não é um mero formatador ou indentador.
A indentação que ele faz é boa, mas não lida bem com algumas sintaxes avançadas tipo window functions.
pgFormatter - Brady Holt
O terceiro formatador que instalei foi o pgFormatter de Brady Holt.
É preciso instalar o perl para funcionar.
A indentação é boa e bem diferente da SQLTools.
SQL Formatter - adpyke
O quarto formatador que instalei foi o SQL Formatter de adpyke e ele é o que mais gostei de todos os outros. O padrão de formatação dele deixa o código SQL um formato muito limpo e legível. Embora na descrição da extensão não comente suporte ao PostgreSQL foi a que melhor funcionou na minha opinião, até mesmo em consultas com a cláusula WITH que é exclusiva do PostgreSQL.
Referências
Como formatar no Visual Studio Code
https://stackoverflow.com/questions/49640469/how-do-you-determine-which-formatter-is-being-used-for-vs-code
Alterando formatador padrão no Visual Studio Code
https://www.youtube.com/watch?v=k6lGhQUjbYY