Formatador de Redshift
Formate Amazon Redshift SQL com as regras do Redshift para strings com escapes de barra invertida, identificadores entre aspas duplas, tabelas #temp, conversões :: e corpos de funções entre $$. QUALIFY e MINUS são mantidos como cláusulas, os ramos MERGE começam em novas linhas e listas longas de colunas são dispostas uma por linha. Strings e parênteses sem fechamento são reportados com linha e coluna, ajudando analistas e engenheiros de dados a revisar código de data warehouse.
Perguntas frequentes
Quais sintaxes de Redshift são reconhecidas?
Strings entre aspas simples com escapes de barra invertida e aspas duplicadas, identificadores entre aspas duplas, nomes de tabelas #temp e conversões :: são reconhecidos. Os operadores de expressão regular ~ e ~* com suas formas negadas e os corpos de funções entre aspas de dólar $$ são mantidos intactos.
Qual é a diferença em relação ao formatador de PostgreSQL?
O Redshift começou com PostgreSQL, mas tem diferenças: barras invertidas escapam caracteres em suas strings, # inicia o nome de uma tabela temporária em vez de ser um operador, e QUALIFY e MINUS estão disponíveis. Este formatador segue essas regras.
O que acontece com os corpos de UDFs?
Os corpos de funções definidas pelo usuário em Python ou SQL escritos entre marcadores $$ são mantidos exatamente como foram escritos. Apenas a instrução ao redor deles é formatada.
Quais cláusulas ficam em uma linha própria?
SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT e OFFSET começam em linhas próprias. MINUS, UNION, INTERSECT e EXCEPT separam as consultas que combinam.
Há suporte a MERGE?
Sim. Os ramos WHEN MATCHED e WHEN NOT MATCHED começam em novas linhas.
Os comentários são mantidos?
Sim. Os comentários -- e /* */ permanecem no lugar. Comentários de bloco com várias linhas são reindentados para se adequar ao novo layout.
A ferramenta altera maiúsculas e minúsculas das palavras-chave?
Não. As palavras-chave e os nomes mantêm a capitalização usada por você. Apenas os espaços em branco e as quebras de linha mudam.
Quais erros são detectados?
Strings sem fechamento, identificadores entre aspas, corpos $$ e comentários de bloco, além de parênteses desequilibrados, cada um com linha e coluna. SQL não é enviado ao seu cluster.
Qual pode ser o tamanho da entrada?
Até 1 MB por solicitação e 128 KB por instrução. Scripts ETL mais longos são formatados uma instrução por vez.
Posso escolher a indentação e meu SQL é armazenado?
Use 2 ou 4 espaços ou tabulações. SQL é formatado apenas na memória e nunca é salvo.