# Форматиращ инструмент за PostgreSQL

Форматирайте заявки и скриптове на PostgreSQL според правилата на Postgres за тела на функции в доларови кавички, низове за екраниране E'', идентификатори в двойни кавички, преобразувания с :: и оператори JSON като ->> и @>. Клаузи като RETURNING, ON CONFLICT и DO UPDATE SET започват на отделни редове; за незатворени низове, коментари или скоби се съобщава с посочени ред и колона. Създадено за разработчици, които четат миграции и заявки.

## Често задавани въпроси

### Какъв синтаксис на PostgreSQL се разпознава?

Разпознават се стандартни низове с удвоени кавички, низове E'' с екраниране чрез обратна наклонена черта, низове U&'' Unicode, битови низове B'' и X'', идентификатори в двойни кавички и параметри $1. Разпознават се и низове в доларови кавички като $$...$$ или $body$...$body$.

### Какво се случва с телата на функциите в доларови кавички?

Тяло в доларови кавички се запазва точно както е написано, защото за PostgreSQL то е низ. Околният оператор CREATE FUNCTION се форматира, но самото тяло не се променя.

### Запазват ли се преобразуванията и операторите?

Да. Преобразувания като value::integer остават свързани, а оператори като ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ и операторите за регулярни изрази ~ и ~* с отрицателните им форми никога не се разделят. В PostgreSQL # е оператор, а не коментар.

### Кои клаузи на PostgreSQL се извеждат на отделен ред?

RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE и FOR KEY SHARE се запазват като цели клаузи. Обичайните клаузи SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT и OFFSET също започват на отделни редове.

### Запазват ли се коментарите?

Да. Коментарите на ред и блоковите коментари остават на мястото си, а вложените блокови коментари, които PostgreSQL позволява, се разчитат правилно. Многоредовите блокови коментари получават нови отстъпи според позицията си.

### Поддържа ли MERGE?

Да. Клоновете WHEN MATCHED и WHEN NOT MATCHED започват на нови редове, така че командите MERGE от PostgreSQL 15 и по-нови версии остават четливи.

### Променя ли се регистърът на ключовите думи?

Не. Ключовите думи и идентификаторите запазват регистъра, който сте използвали. Идентификаторите в кавички са чувствителни към регистъра в PostgreSQL и не се променят.

### Какви грешки се откриват?

Незатворените низове, идентификатори в кавички, низове в доларови кавички и блокови коментари, както и несъответстващите скоби се посочват с ред и колона. Инструментът не проверява пълната граматика на PostgreSQL или схемата ви.

### Какъв е максималният размер на входните данни?

До 1 MB на заявка и 128 KB на команда. Файловете с миграции, съдържащи много команди, се форматират команда по команда и се разделят с празни редове.

### Мога ли да избера отстъпа?

Да. Използвайте 2 или 4 интервала или табулации. Вашият SQL се обработва само в паметта и никога не се съхранява.

Вашата реклама тук?

[Пишете ни](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%B2%20OneClick%20Pro)

[Реклама Комплект плъгини за агенти за WordPress.](https://sleekwp.com/?ref=oneclickpro)
