# Formatador de PostgreSQL

Formate consultas e scripts PostgreSQL com regras do Postgres para corpos de função entre cifrões, strings de escape E'', identificadores entre aspas duplas, conversões :: e operadores JSON como ->> e @>. Cláusulas como RETURNING, ON CONFLICT e DO UPDATE SET ficam em linhas próprias; strings, comentários ou parênteses não fechados são informados com linha e coluna. Feito para desenvolvedores que leem migrações e consultas.

## Perguntas frequentes

### Que sintaxe de PostgreSQL é reconhecida?

São reconhecidas strings padrão com aspas duplicadas, strings E'' com escapes de barra invertida, strings Unicode U&'', strings de bits B'' e X'', identificadores entre aspas duplas e parâmetros $1. Strings entre cifrões, como $$...$$ ou $body$...$body$, também são reconhecidas.

### O que acontece com os corpos de função entre cifrões?

Um corpo entre cifrões é mantido exatamente como foi escrito, porque é uma string para PostgreSQL. A instrução CREATE FUNCTION ao redor é formatada, mas o corpo em si não é alterado.

### Conversões e operadores são mantidos intactos?

Sim. Conversões como value::integer permanecem unidas, e operadores como ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ e os operadores de expressão regular ~ e ~* com suas formas negadas nunca são separados. Em PostgreSQL, # é um operador, não um comentário.

### Quais cláusulas PostgreSQL ficam em uma linha própria?

RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE e FOR KEY SHARE permanecem juntas como cláusulas. As cláusulas SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT e OFFSET também começam em linhas próprias.

### Os comentários são preservados?

Sim. Comentários de linha e comentários de bloco permanecem no lugar, e comentários de bloco aninhados, que PostgreSQL permite, são interpretados corretamente. Comentários de bloco com várias linhas são reindentados na nova posição.

### Há suporte a MERGE?

Sim. As ramificações WHEN MATCHED e WHEN NOT MATCHED começam em linhas novas, mantendo legíveis as instruções MERGE do PostgreSQL 15 em diante.

### A ferramenta altera maiúsculas e minúsculas das palavras-chave?

Não. Palavras-chave e identificadores mantêm a capitalização usada. Identificadores entre aspas diferenciam maiúsculas de minúsculas em PostgreSQL e nunca são alterados.

### Quais erros são detectados?

Strings sem fechamento, identificadores entre aspas, strings entre cifrões e comentários de bloco, além de parênteses sem correspondência, são informados com linha e coluna. A ferramenta não verifica a gramática completa de PostgreSQL nem o seu esquema.

### Qual pode ser o tamanho da entrada?

Até 1 MB por solicitação e 128 KB por instrução. Arquivos de migração com muitas instruções são formatados uma instrução por vez e separados por linhas em branco.

### Posso escolher a indentação?

Sim. Use 2 ou 4 espaços ou tabulações. Seu SQL é processado apenas na memória e nunca é armazenado.

Seu anúncio aqui?

[Envie-nos um e-mail](mailto:hi@dennn.is?subject=Publicidade%20em%20OneClick%20Pro)

[Anúncio O conjunto de plugins pronto para agentes para WordPress.](https://sleekwp.com/?ref=oneclickpro)
