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.
4 linhas convertidas, 2 correções, nenhuma rejeitada
| Linha | ||||||
|---|---|---|---|---|---|---|
| 2 | 000481 | Peña Muñoz | 2024-02-03T10:15:00Z | 1234.5 | true | |
| 3 | 000482 | José Ángel Ruiz | 2024-02-15T16:40:00Z | 99.9 | false | Entrega en la tarde |
| 4 | 000483 | Zoë Ortíz | 2024-02-29T09:05:00Z | 12 | true | |
| 5 | 000484 | Ñuño Castañeda | 2024-03-11T13:30:00Z | 980.75 | sí | 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
- Zeros à esquerda mantidos em "pedido": 000481 continua 000481, salvo como texto.
- "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 arquivo | Primeiro valor | Coluna | Tipo no PostgreSQL | No script |
|---|---|---|---|---|
| pedido | 000481 | pedido | text | '000481' |
| cliente | Peña Muñoz | cliente | text | 'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | timestamptz | '2024-02-03 10:15:00+00:00' |
| total | 1234.5 | total | numeric(6,2) | 1234.5 |
| pagado | true | pagado | boolean | TRUE |
| notas | - | notas | text | NULL |
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.sqlON_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/mydbO 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
| Valor | PostgreSQL |
|---|---|
| Sim e não | boolean |
| Números inteiros | integer |
| Números inteiros grandes | bigint |
| Decimais | numeric(p,s) |
| Números de ponto flutuante | double precision |
| Datas | date |
| Horários | time |
| Datas com hora | timestamp |
| Datas com hora e fuso | timestamptz |
| Texto | text |
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.