# Форматиране на 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%B2%20OneClick%20Pro)

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