# Formater PostgreSQL

Formatuj zapytania i skrypty PostgreSQL zgodnie z regułami Postgresa dotyczącymi treści funkcji ujętych w cudzysłowy dolarowe, ciągów E'' ze znakami ucieczki, identyfikatorów w podwójnych cudzysłowach, rzutowań :: oraz operatorów JSON, takich jak ->> i @>. Klauzule, takie jak RETURNING, ON CONFLICT i DO UPDATE SET, trafiają do osobnych wierszy, a niezamknięte ciągi, komentarze i nawiasy są zgłaszane wraz z numerem wiersza i kolumny. Stworzone z myślą o programistach czytających migracje i zapytania.

## Najczęściej zadawane pytania

### Jaką składnię PostgreSQL rozpoznaje?

Rozpoznawane są standardowe ciągi z podwojonymi cudzysłowami, ciągi E'' ze znakami ucieczki, ciągi U&'' Unicode, ciągi bitowe B'' i X'', identyfikatory w podwójnych cudzysłowach oraz parametry $1. Obsługiwane są także ciągi ujęte w cudzysłowy dolarowe, takie jak $$...$$ lub $body$...$body$.

### Co dzieje się z treścią funkcji ujętą w cudzysłowy dolarowe?

Treść ujęta w cudzysłowy dolarowe pozostaje dokładnie taka, jak została zapisana, ponieważ dla PostgreSQL jest ciągiem znaków. Otaczająca ją instrukcja CREATE FUNCTION jest formatowana, ale sama treść nie jest zmieniana.

### Czy rzutowania i operatory pozostają nienaruszone?

Tak. Rzutowania, takie jak value::integer, pozostają połączone, a operatory takie jak ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ oraz operatory wyrażeń regularnych ~ i ~* wraz z ich zanegowanymi formami nigdy nie są rozdzielane. W PostgreSQL # jest operatorem, a nie komentarzem.

### Które klauzule PostgreSQL trafiają do osobnych wierszy?

RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE i FOR KEY SHARE pozostają razem jako klauzule. Zwykłe klauzule SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT i OFFSET również zaczynają się w osobnych wierszach.

### Czy komentarze są zachowywane?

Tak. Komentarze wierszowe i blokowe pozostają na miejscu, a zagnieżdżone komentarze blokowe, które dopuszcza PostgreSQL, są prawidłowo odczytywane. Wielowierszowe komentarze blokowe są ponownie wcięte zgodnie z nowym położeniem.

### Czy obsługuje MERGE?

Tak. Gałęzie WHEN MATCHED i WHEN NOT MATCHED zaczynają się w nowych wierszach, dzięki czemu instrukcje MERGE z wersji PostgreSQL 15 i nowszych pozostają czytelne.

### Czy zmienia wielkość liter w słowach kluczowych?

Nie. Słowa kluczowe i identyfikatory zachowują wielkość liter z wpisanego tekstu. W PostgreSQL identyfikatory ujęte w cudzysłowy rozróżniają wielkość liter i nigdy nie są zmieniane.

### Jakie błędy są wykrywane?

Niezamknięte ciągi znaków, identyfikatory w cudzysłowach, ciągi ujęte w znaki dolara i komentarze blokowe oraz niezbilansowane nawiasy są zgłaszane wraz z numerem wiersza i kolumny. Narzędzie nie sprawdza pełnej gramatyki PostgreSQL ani schematu.

### Jak duże mogą być dane wejściowe?

Do 1 MB na żądanie i 128 KB na instrukcję. Pliki migracji zawierające wiele instrukcji są formatowane po jednej instrukcji naraz i rozdzielane pustymi wierszami.

### Czy mogę wybrać wcięcie?

Tak. Użyj 2 lub 4 spacji albo tabulatorów. Twoje SQL jest przetwarzane wyłącznie w pamięci i nigdy nie jest zapisywane.

Twoja reklama tutaj?

[Napisz do nas](mailto:hi@dennn.is?subject=Reklama%20w%20OneClick%20Pro)

[Reklama Pakiet wtyczek gotowy do pracy z agentami dla WordPress.](https://sleekwp.com/?ref=oneclickpro)
