# Форматувальник 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 MB на запит і 128 KB на оператор. Довші 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)
