Parser de arrays PostgreSQLe análise de intervalos
Cole um valor bruto de array ou intervalo para verificar sua estrutura sem executar consultas.
Parser de arrays PostgreSQL
Valor bruto do PostgreSQL
Relatório JSON
Os valores são processados neste navegador, sem envio, conexão com banco ou solicitação de rede.
Opções de entrada
Cole o valor sem aspas SQL externas ou casts. Elementos diferentes de NULL continuam como strings; os campos de intervalo ficam separados.
65.536 caracteres · 10.000 elementos · 6 dimensões · segundos com até 6 casas decimais
Dimensões: 2 · elementos: 6 · NULL: 1
Um parser de arrays PostgreSQL ajuda quando um driver ou arquivo exportado entrega uma string entre chaves em vez de uma estrutura pronta. Dividir o texto pelas vírgulas falha quando um elemento também contém vírgulas ou aspas escapadas.
O exemplo diferencia NULL, o texto "NULL" e uma string vazia. Para intervalos, selecione primeiro o formato usado na saída do banco de origem: o alcance de um sinal negativo muda conforme esse formato.
Por que usar este parser de arrays PostgreSQL?
Mantenha os índices originais
Este parser de arrays PostgreSQL mostra os valores aninhados e o tamanho e os limites de cada dimensão. Se o array começa em zero ou em um índice negativo, essa informação permanece nos metadados, mesmo sem uma representação equivalente no array JSON.
Separe calendário e tempo de relógio
Um mês não corresponde a uma quantidade fixa de segundos. O intervalo PostgreSQL mantém meses, dias e microssegundos em campos separados, preservando sinais diferentes. Assim, uma duração de calendário não vira silenciosamente uma estimativa de tempo decorrido.
Detalhes para conferir antes de exportar
01
Troque o tipo sem perder o texto
Selecione array ou intervalo nas opções abaixo dos editores. A mudança troca as regras, mas preserva a entrada. O botão de exemplo mostra o conteúdo do modo atual e sua quantidade de caracteres antes de substituir qualquer valor.
02
Leia limites e sinais
A primeira dimensão do exemplo começa no índice zero. Confira dimensions e nullCount no JSON. No estilo sql_standard, um único sinal negativo inicial pode valer também para os campos seguintes de dias e tempo; escolha explicitamente o formato da origem.
03
Controle a atualização do resultado
A análise automática aguarda 350 ms após a última edição. Desative-a para usar o botão ou Ctrl/Cmd+Enter. Alterações bloqueiam a exportação imediatamente. Relatórios longos aparecem em blocos de 100 linhas, mas a cópia e o download incluem o conteúdo completo.
Estrutura e valores sem adivinhação
Valores não mudam de tipo pela aparência
Ao passar um array PostgreSQL para JSON, valores como 001 ou inteiros muito grandes continuam sendo strings. O literal de array não informa o tipo da coluna. Um array multidimensional precisa ser retangular; linhas desiguais geram erro, sem preenchimento com NULL nem achatamento.
Aspas e escapes tratados em conjunto
O leitor reconhece delimitadores protegidos, aspas escapadas, barras invertidas e espaços protegidos. Apenas NULL sem aspas e sem escape vira JSON null. "NULL", um NULL escapado e uma string vazia continuam sendo textos distintos no resultado.
Quatro formatos e campos exatos
Escolha postgres, postgres_verbose, sql_standard ou iso_8601. Campos de calendário devem ser inteiros; segundos aceitam até seis casas decimais. A aritmética inteira calcula os três campos sem perda de precisão e os exporta como strings decimais.
Sintaxe aceita e limites
Cole apenas o valor interno
Aceitamos {...}, com limites opcionais, ou um único intervalo. Instruções SQL, construtores ARRAY, aspas simples externas, E-strings, casts e qualificadores de campo são recusados. Não há conexão com banco, importação de arquivos ou busca por URL.
Validação de estrutura, sem tipo de elemento
O delimitador padrão é a vírgula; arrays no estilo box podem usar ponto e vírgula. Os limites precisam ser válidos e corresponder à forma real. Arrays aninhados vazios viram um array vazio sem dimensões. OID, delimitadores personalizados e array_nulls=off não são interpretados.
A gramática de intervalos é limitada
Use formas semelhantes à saída do estilo escolhido. Frações de meses, dias, horas ou minutos, infinito, notação ISO alternativa, unidades desconhecidas e números não zero sem unidade são recusados. Segundos com mais de seis casas não são arredondados. Não há conversão para segundos totais ou Temporal.
Limites sem relatórios truncados
Cada entrada admite até 65.536 caracteres JavaScript, 10.000 elementos de array e seis dimensões. Meses e dias devem caber em inteiros de 32 bits com sinal; microssegundos, em 64 bits com sinal. Qualquer erro bloqueia a exportação em vez de retornar um resultado parcial.
Dúvidas sobre o parser de arrays PostgreSQL
Por que o PostgreSQL retorna malformed array literal?
Pode faltar uma chave ou aspa de fechamento, sobrar um delimitador no final ou existir uma instrução SQL envolvendo o valor. A mensagem mostra linha e coluna. Cole somente o conteúdo delimitado por chaves e confira as aspas e barras invertidas na linha destacada.
Como o PostgreSQL trata NULL em um array?
NULL sem aspas e sem escape vira JSON null, independentemente de maiúsculas. "NULL" é texto e "" é uma string vazia. nullCount informa quantos elementos são nulos. Um SQL NULL isolado não é um literal de array aceito aqui; use {} para representar um array vazio.
Por que inserir um array multidimensional causa malformed array literal?
Todas as dimensões precisam ter extensões iguais. {{a,b},{c}} tem linhas de dois e um elemento, portanto é recusado. A ferramenta não acrescenta células nem transforma tudo em uma lista plana. Corrija a origem e confira também se os limites declarados correspondem à forma resultante.
Como escapar aspas duplas em arrays usados no PostgreSQL COPY?
A codificação externa do campo COPY ou CSV é diferente da sintaxe do array. Aqui tratamos apenas a camada interna. Dentro de um elemento entre aspas, coloque uma barra invertida antes de cada aspa dupla ou barra invertida. Remova primeiro a codificação externa de CSV ou SQL antes de colar.
Por que converter um intervalo PostgreSQL em segundos produz valores inesperados?
Os meses têm durações diferentes e um dia de calendário pode atravessar uma mudança de horário de verão. Uma conversão fixa desses campos pode não corresponder ao tempo realmente decorrido. Este relatório mantém os três campos separados; para calcular segundos decorridos, use datas e horários concretos.
Como representar 1 day 01:30:00 como 25:30:00?
É possível mudar a apresentação com SQL fora desta ferramenta, mas isso incorpora os dias ao campo de horas. Aqui 1 day 01:30:00 mantém days="1" e microseconds="5400000000". Já 25:30:00 resulta em days="0" e microseconds="91800000000", preservando a diferença entre as estruturas.
Este parser de arrays PostgreSQL permite conferir os limites e valores. Para um intervalo, selecione o estilo e compare os três campos antes de exportar o JSON.