Перейти к содержимому

Форматтер 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 обрабатывается только в памяти и нигде не сохраняется.

О проекте OneClick Pro

OneClick Pro — это бесплатная коллекция из более чем 150 веб-инструментов для повседневных задач: преобразования изображений и единиц измерения, форматирования и проверки кода, проверки доменов и SEO, а также работы с текстом, датами и числами. Все инструменты доступны без регистрации и подписки, а введенные вами данные используются только для расчета результата и никогда не сохраняются. Используйте коллекцию как быстрый набор инструментов для разовых задач или добавьте в закладки те, которыми пользуетесь каждый день.