Pular para o conteúdo

Converter JSON para PostgreSQL

Solte seu arquivo JSON e receba um script para PostgreSQL com comandos CREATE TABLE e INSERT. Cada coluna recebe um tipo, e cada correção é listada com sua linha e coluna.

Seu arquivo
jsonpedidos_2024.jsonArquivo de exemplo, 771 B
Seu banco de dados

4 linhas convertidas, 2 correções, nenhuma rejeitada

Mostrar
As primeiras linhas de pedidos_2024.json, com cada correção marcada
Linha
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for PostgreSQL.

SET client_encoding = 'UTF8';
BEGIN;

CREATE TABLE pedidos_2024 (
    pedido text NOT NULL,
    cliente text NOT NULL,
    fecha timestamptz NOT NULL,
    total numeric(6,2) NOT NULL,
    pagado boolean NOT NULL,
    notas text
);

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, TRUE, 'Factura con "RFC"');

COMMIT;

Correções

  1. Zeros à esquerda mantidos em "pedido": 000481 continua 000481, salvo como texto.
  2. "pagado" contém palavras de sim e não (sí), salvas como booleano.

Seu arquivo é convertido neste computador e nunca é enviado.

Outros exemplos:

De JSON para PostgreSQL, coluna por coluna

O exemplo acima, pedidos_2024.json, como o IntoSQL o escreve para PostgreSQL: o que cada coluna contém no arquivo, o tipo que recebe e como seu primeiro valor fica no script.

No arquivoPrimeiro valorColunaTipo no PostgreSQLNo script
pedido000481pedidotext'000481'
clientePeña Muñozclientetext'Peña Muñoz'
fecha2024-02-03T10:15:00Zfechatimestamptz'2024-02-03 10:15:00+00:00'
total1234.5totalnumeric(6,2)1234.5
pagadotruepagadobooleanTRUE
notas-notastextNULL

Carregue o script no PostgreSQL

O download é um arquivo .sql simples. Execute-o com as ferramentas do próprio PostgreSQL.

Pelo terminal

psql -v ON_ERROR_STOP=1 -d mydb -f pedidos_2024.postgresql.sql

ON_ERROR_STOP faz o psql parar no primeiro erro. O script roda em uma única transação, então uma carga que falha deixa o banco de dados como estava.

Por uma ferramenta de banco de dados

No pgAdmin ou no DBeaver, abra o script em uma janela de consulta e execute-o.

Sem scriptPro

O IntoSQL Pro carrega o arquivo direto no PostgreSQL pelo app para desktop ou pela linha de comando, sem escrever um script.

intosql load pedidos_2024.json --into postgres://user@localhost/mydb

O que saber sobre arquivos JSON e PostgreSQL

O que o IntoSQL lê em arquivos JSON

  • O arquivo pode ser um array de objetos, um objeto que guarda esse array sob uma chave como data, ou um objeto por linha (NDJSON).
  • Cada chave vira uma coluna. Objetos e arrays dentro de um valor são mantidos como texto JSON.
  • Os números mantêm os dígitos exatos, e datas ISO 8601 viram datas ou timestamps.

O que saber sobre PostgreSQL

  • Decimais mantêm os dígitos exatos como numeric(p,s), e datas com fuso viram timestamptz.
  • O texto do PostgreSQL não aceita o caractere NUL, então ele é removido dos valores que o têm.
  • O script roda em uma única transação, então uma carga que falha não deixa nada pela metade.

Como cada tipo de valor é armazenado no PostgreSQL

ValorPostgreSQL
Sim e nãoboolean
Números inteirosinteger
Números inteiros grandesbigint
Decimaisnumeric(p,s)
Números de ponto flutuantedouble precision
Datasdate
Horáriostime
Datas com horatimestamp
Datas com hora e fusotimestamptz
Textotext

Perguntas sobre JSON para PostgreSQL

Não encontrou a resposta? Escreva para nós pela página de contato e uma pessoa responde. Página de contato

Como converto JSON para PostgreSQL?

Solte seu arquivo no conversor no topo desta página. Ele encontra o cabeçalho, lê cada valor e escreve o script para PostgreSQL, listando cada correção feita. Baixe o script e execute-o com psql.

Qual formato o arquivo JSON precisa ter?

Um array de objetos, um objeto que guarda esse array em uma chave como data, ou um objeto por linha (NDJSON). Cada chave vira uma coluna.

Quais tipos do PostgreSQL ele usa?

Valores sim e não viram boolean, números inteiros integer, decimais numeric(p,s), datas date, datas com hora timestamp e texto text. Os tamanhos vêm do valor mais longo de cada coluna.

Ele mantém os zeros à esquerda no PostgreSQL?

Sim. Um código como 000481 continua como texto, então o PostgreSQL o guarda como text e o script o escreve como '000481'.

Ele carrega os dados no PostgreSQL sem um script?

Sim, com o IntoSQL Pro. O app para desktop e a linha de comando se conectam ao PostgreSQL e carregam as linhas direto, criando a tabela antes.

Qual o tamanho máximo do arquivo JSON?

NDJSON, um objeto por linha, é lido à medida que chega, então arquivos de vários gigabytes funcionam no navegador. Um documento JSON é lido inteiro, então o limite é a memória que o navegador dá a esta página. O app para desktop e a linha de comando aceitam arquivos de qualquer tamanho.