# Formateador de PostgreSQL

Formatea consultas y scripts de PostgreSQL con reglas de Postgres para cuerpos de funciones entrecomillados con signos de dólar, cadenas de escape E'', identificadores entre comillas dobles, conversiones :: y operadores JSON como ->> y @>. Cláusulas como RETURNING, ON CONFLICT y DO UPDATE SET aparecen en líneas propias, y se señalan las cadenas, los comentarios o los paréntesis sin cerrar, con su línea y columna. Pensado para desarrolladores que leen migraciones y consultas.

## Preguntas frecuentes

### ¿Qué sintaxis de PostgreSQL se reconoce?

Se reconocen las cadenas estándar con comillas duplicadas, las cadenas E'' con caracteres de escape con barra invertida, las cadenas Unicode U&'', las cadenas de bits B'' y X'', los identificadores entre comillas dobles y los parámetros $1. También se leen cadenas entrecomilladas con signos de dólar, como $$...$$ o $body$...$body$.

### ¿Qué ocurre con los cuerpos de función entrecomillados con signos de dólar?

Un cuerpo entrecomillado con signos de dólar se conserva exactamente como está, porque para PostgreSQL es una cadena. La instrucción CREATE FUNCTION que lo rodea se formatea, pero el cuerpo en sí no se modifica.

### ¿Se conservan intactos las conversiones de tipo y los operadores?

Sí. Los casts como value::integer se mantienen unidos, y los operadores como ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ y los operadores de expresiones regulares ~ y ~* con sus formas negadas nunca se separan. En PostgreSQL, # es un operador, no un comentario.

### ¿Qué cláusulas de PostgreSQL van en su propia línea?

RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE y FOR KEY SHARE se mantienen unidos como cláusulas. Las cláusulas habituales SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT y OFFSET también empiezan en líneas propias.

### ¿Se conservan los comentarios?

Sí. Los comentarios de línea y de bloque se mantienen en su lugar, y los comentarios de bloque anidados, que PostgreSQL permite, se interpretan correctamente. Los comentarios de bloque multilínea se vuelven a sangrar para adaptarlos a su nueva posición.

### ¿Es compatible con MERGE?

Sí. Las ramas WHEN MATCHED y WHEN NOT MATCHED empiezan en líneas nuevas, para que las sentencias MERGE de PostgreSQL 15 y versiones posteriores sigan siendo legibles.

### ¿Cambia el uso de mayúsculas y minúsculas en las palabras clave?

No. Las palabras clave y los identificadores conservan las mayúsculas y minúsculas que escribió. Los identificadores entre comillas distinguen mayúsculas de minúsculas en PostgreSQL y nunca se modifican.

### ¿Qué errores se detectan?

Las cadenas sin cerrar, los identificadores entre comillas, las cadenas entre comillas de dólar y los comentarios de bloque, así como los paréntesis desequilibrados, se notifican con la línea y la columna. La herramienta no comprueba toda la gramática de PostgreSQL ni su esquema.

### ¿Qué tamaño puede tener la entrada?

Hasta 1 MB por solicitud y 128 KB por sentencia. Los archivos de migración con muchas sentencias se formatean de una en una y se separan con líneas en blanco.

### ¿Puedo elegir la sangría?

Sí. Use 2 o 4 espacios o tabulaciones. Su SQL se procesa únicamente en memoria y nunca se almacena.

¿Su anuncio aquí?

[Envíenos un correo](mailto:hi@dennn.is?subject=Publicidad%20en%20OneClick%20Pro)

[Anuncio El conjunto de plugins listo para agentes de WordPress.](https://sleekwp.com/?ref=oneclickpro)
