---
title: "CSV omzetten naar PostgreSQL"
description: "Zet CSV-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/csv-naar-postgresql
last_updated: 2026-10-15
---

# CSV omzetten naar PostgreSQL

Zet je CSV-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 CSV naar PostgreSQL, kolom voor kolom

Het voorbeeld hierboven, ventas_2024.csv, 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 |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `text` | `'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `text` | `'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `text` | `'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `date` | `'2024-02-15'` |
| Importe | `1.234,50` | `importe` | `numeric(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `boolean` | `TRUE` |

## 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 ventas_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 ventas_2024.csv --into postgres://user@localhost/mydb
```

## Wat IntoSQL leest in CSV-bestanden

- De codering wordt herkend, ook Windows-1252 en UTF-16, zodat accenten en ñ intact aankomen.
- Het scheidingsteken wordt herkend: komma, puntkomma, tab of verticale streep. Met een puntkomma worden decimale komma's zoals 1.234,50 als getallen gelezen.
- Waarden tussen aanhalingstekens kunnen scheidingstekens en regeleinden bevatten.

## 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 CSV naar PostgreSQL

### Hoe zet ik CSV 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.

### Wat als mijn CSV puntkomma's of tabs gebruikt?

Het scheidingsteken wordt herkend: komma, puntkomma, tab of verticale streep. Je kunt het ook instellen onder Meer opties. Met een puntkomma worden decimale komma's zoals 1.234,50 als getallen gelezen.

### 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 00412 blijft tekst, dus PostgreSQL slaat hem op als text en het script schrijft hem als '00412'.

### 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 CSV-bestand zijn?

De browser leest een CSV terwijl die binnenstroomt, dus bestanden van meerdere gigabytes werken. Op een laptop met Apple M4 converteert de opdrachtregel een CSV van 174 MB met een miljoen rijen in minder dan een seconde.

## CSV naar andere databases

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

## Andere bestanden naar PostgreSQL

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