# Форматировщик Redshift

Форматируйте Amazon Redshift SQL по правилам Redshift для строк с экранированием обратной косой чертой, идентификаторов в двойных кавычках, таблиц #temp, приведений типов :: и тел функций $$. QUALIFY и MINUS сохраняются как предложения, ветви MERGE начинаются с новых строк, а длинные списки столбцов размещаются по одному в строке. О незакрытых строках и скобках сообщается с указанием строки и столбца, что помогает аналитикам и инженерам по данным проверять код для хранилища данных.

## Часто задаваемые вопросы

### Какой синтаксис Redshift распознается?

Распознаются строки в одинарных кавычках с экранированием обратной косой чертой и удвоенными кавычками, идентификаторы в двойных кавычках, имена таблиц #temp и приведения типов ::. Операторы регулярных выражений ~ и ~* с отрицательными формами, а также тела функций в долларовых кавычках $$ сохраняются целиком.

### Чем это отличается от форматировщика PostgreSQL?

Redshift создан на основе PostgreSQL, но отличается: обратная косая черта экранирует символы в строках, # начинает имя временной таблицы, а не обозначает оператор, и доступны QUALIFY и MINUS. Этот форматировщик следует этим правилам.

### Как форматируются тела UDF?

Тела пользовательских функций Python или SQL, записанные между маркерами $$, сохраняются в точности как написаны. Форматируется только окружающая их инструкция.

### Какие конструкции размещаются на отдельных строках?

SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT и OFFSET начинаются с новых строк. MINUS, UNION, INTERSECT и EXCEPT разделяют объединяемые запросы.

### Поддерживается ли MERGE?

Да. Ветви WHEN MATCHED и WHEN NOT MATCHED начинаются с новых строк.

### Сохраняются ли комментарии?

Да. Комментарии -- и /* */ остаются на месте. Многострочные блочные комментарии получают новые отступы в соответствии с новым форматированием.

### Меняется ли регистр ключевых слов?

Нет. Ключевые слова и имена сохраняют регистр, в котором вы их написали. Меняются только пробелы и переносы строк.

### Какие ошибки обнаруживаются?

Незакрытые строки, идентификаторы в кавычках, тела $$, блочные комментарии и несбалансированные скобки — для каждого случая указаны строка и столбец. SQL не отправляется в ваш кластер.

### Каков максимальный размер входных данных?

До 1 МБ на запрос и 128 КБ на инструкцию. Длинные ETL-скрипты форматируются по одной инструкции за раз.

### Можно ли выбрать отступы и сохраняется ли мой SQL?

Используйте 2 или 4 пробела либо табуляцию. SQL форматируется только в памяти и никогда не сохраняется.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
