Форматиращ инструмент за 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 се обработва само в паметта и никога не се съхранява.