---
title: "JSON omzetten naar PostgreSQL"
description: "Zet JSON-bestanden in je browser om naar SQL voor PostgreSQL: CREATE TABLE met getypeerde kolommen, dan INSERT. Gratis, je bestand wordt nooit geüpload."
canonical: https://intosql.com/nl/json-naar-postgresql
last_updated: 2026-10-15
---

# JSON omzetten naar PostgreSQL

Zet je JSON-bestand neer en krijg een PostgreSQL-script met CREATE TABLE- en INSERT-statements. Elke kolom krijgt een type, en elke correctie wordt vermeld met rij en kolom.

## Van JSON naar PostgreSQL, kolom voor kolom

Het voorbeeld hierboven, pedidos_2024.json, zoals IntoSQL het voor PostgreSQL schrijft: wat elke kolom in het bestand bevat, welk type ze krijgt en hoe haar eerste waarde in het script terechtkomt.

| In het bestand | Eerste waarde | Kolom | Type in PostgreSQL | In het 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` |

## Het script in PostgreSQL laden

De download is een standaard .sql-bestand. Voer het uit met de eigen tools van PostgreSQL.

### PostgreSQL

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

ON_ERROR_STOP laat psql stoppen bij de eerste fout. Het script draait in één transactie, dus een mislukte import laat de database zoals hij was. Open het script in pgAdmin of DBeaver in een queryvenster en voer het uit.

Zonder script:

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

## Wat IntoSQL leest in JSON-bestanden

- Het bestand kan een array van objecten zijn, een object dat die array onder een sleutel zoals data bevat, of één object per regel (NDJSON).
- Elke sleutel wordt een kolom. Objecten en arrays binnen een waarde blijven JSON-tekst.
- Getallen behouden hun exacte cijfers, en ISO 8601-datums worden datums of tijdstempels.

## Wat je moet weten over PostgreSQL

- Decimale getallen behouden hun exacte cijfers als numeric(p,s), en datums met tijdverschil worden timestamptz.
- Tekst in PostgreSQL kan het NUL-teken niet bevatten, dus het wordt verwijderd uit de waarden die het hebben.
- Het script draait in één transactie, dus een mislukte import laat niets half af achter.

### Hoe elk soort waarde in PostgreSQL wordt opgeslagen

| Waarde | PostgreSQL |
| --- | --- |
| Ja en nee | `boolean` |
| Gehele getallen | `integer` |
| Grote gehele getallen | `bigint` |
| Decimale getallen | `numeric(p,s)` |
| Drijvendekommagetallen | `double precision` |
| Datums | `date` |
| Tijdstippen | `time` |
| Datums met tijd | `timestamp` |
| Datums met tijd en tijdverschil | `timestamptz` |
| Tekst | `text` |

## Vragen over JSON naar PostgreSQL

### Hoe zet ik JSON om naar PostgreSQL?

Zet je bestand neer op de converter bovenaan deze pagina. Die vindt de kopregel, leest elke waarde en schrijft het PostgreSQL-script, met elke correctie vermeld. Download het script en voer het uit met psql.

### Welke vorm moet het JSON-bestand hebben?

Een array van objecten, een object dat die array onder een sleutel zoals data bevat, of één object per regel (NDJSON). Elke sleutel wordt een kolom.

### Welke PostgreSQL-types gebruikt het?

Ja/nee-waarden worden boolean, gehele getallen integer, decimalen numeric(p,s), datums date, datums met tijd timestamp en tekst text. De groottes volgen uit de langste waarde in elke kolom.

### Blijven voorloopnullen behouden in PostgreSQL?

Ja. Een code zoals 000481 blijft tekst, dus PostgreSQL slaat hem op als text en het script schrijft hem als '000481'.

### Kan het de data zonder script in PostgreSQL laden?

Ja, met IntoSQL Pro. De desktopapp en de opdrachtregel maken verbinding met PostgreSQL en laden de rijen rechtstreeks, nadat ze eerst de tabel hebben aangemaakt.

### Hoe groot mag het JSON-bestand zijn?

NDJSON, één object per regel, wordt gelezen terwijl het binnenstroomt, dus bestanden van meerdere gigabytes werken in de browser. Een JSON-document wordt in zijn geheel gelezen, dus de grens is het geheugen dat de browser deze pagina geeft. De desktopapp en de opdrachtregel nemen bestanden van elke grootte.

## JSON naar andere databases

- [JSON omzetten naar SQL](https://intosql.com/nl/json-naar-sql)
- [JSON omzetten naar MySQL](https://intosql.com/nl/json-naar-mysql)
- [JSON omzetten naar MariaDB](https://intosql.com/nl/json-naar-mariadb)
- [JSON omzetten naar SQLite](https://intosql.com/nl/json-naar-sqlite)
- [JSON omzetten naar SQL Server](https://intosql.com/nl/json-naar-sql-server)
- [JSON omzetten naar Oracle](https://intosql.com/nl/json-naar-oracle)

## Andere bestanden naar PostgreSQL

- [Excel omzetten naar PostgreSQL](https://intosql.com/nl/excel-naar-postgresql)
- [CSV omzetten naar PostgreSQL](https://intosql.com/nl/csv-naar-postgresql)
