---
title: "PostgreSQL naar MariaDB migreren in je browser"
description: "Migreer een PostgreSQL-database naar MariaDB: zet een pg_dump-bestand om naar een script met dezelfde tabellen, sleutels en data, en een rapport van elke wijziging."
canonical: https://intosql.com/nl/postgresql-naar-mariadb
last_updated: 2026-10-15
---

# PostgreSQL naar MariaDB migreren in je browser

Zet een gewone dump van pg_dump of pg_dumpall neer, als .sql of .sql.gz, en download een MariaDB-script met dezelfde tabellen, sleutels, indexen en data. Elke waarde die MariaDB niet ongewijzigd kan bevatten, en elk object dat het niet overneemt, staat in het rapport.

[Migratiehandleiding PostgreSQL naar MariaDB](https://intosql.com/docs/migrations/postgresql-to-mariadb)

[Datatypen van PostgreSQL naar MariaDB](https://intosql.com/docs/types/postgresql-to-mariadb)

## Wat er verandert van PostgreSQL naar MariaDB

Elke rij is een regel die de converter toepast, met de rapportregel die hij schrijft als de regel iets in je data verandert.

| In PostgreSQL | In MariaDB | Rapportregel |
| --- | --- | --- |
| boolean | tinyint(1) |  |
| varchar(n), char(n), text | varchar(n) tot 1024 tekens, char(n) tot 255, daarboven text |  |
| numeric(p,s) past 65 digits or 30 decimals, and numeric values past what decimal(65,30) holds | varchar | `decimal_as_text` |
| money | decimal(19,2) | `type_replaced` |
| interval | varchar(100) met de tekst van PostgreSQL | `type_replaced` |
| arrays (integer[], text[]...) | json-arrays | `type_replaced` |
| ranges, geometric types, tsvector, xml, hstore, composite and extension types | longtext met de tekst van PostgreSQL | `type_replaced` |
| json, jsonb | json |  |
| timestamp | datetime(p) |  |
| timestamp with time zone | datetime(p) in UTC | `moments_as_utc` |
| time | time(p) |  |
| infinity, -infinity, BC dates and years past 9999 | NULL | `date_out_of_range` |
| NaN and Infinity in numeric, real and double precision | NULL | `invalid_value_null` |
| NOT NULL columns with values that become NULL | NOT NULL weggelaten | `not_null_relaxed` |
| enum types | enum(...) met dezelfde labels |  |
| uuid, inet, cidr | uuid als uuid, inet en cidr als varchar(43) |  |
| bytea | blob, mediumblob of longblob; varbinary(3072) in een sleutel |  |
| bit(n) | bit(n) tot 64, daarboven text |  |
| citext and nondeterministic collations | exacte vergelijking | `case_insensitive_collation` |
| serial, identity | AUTO_INCREMENT, verdergaand na het hoogste id |  |
| a second serial or identity column in a table | geheel getal | `counter_dropped` |
| sequences not owned by a column | CREATE SEQUENCE, op de waarde die hij als volgende uitgeeft |  |
| generated columns | gegenereerde kolommen, STORED zoals in de bron |  |
| generated columns with functions MariaDB lacks | een gewone kolom | `generated_not_translated` |
| defaults with functions MariaDB lacks, and defaults from a sequence | geen standaardwaarde | `default_not_translated` |
| CHECK constraints | vertaald, inline in CREATE TABLE |  |
| CHECK constraints with functions MariaDB lacks | niet aangemaakt | `check_skipped` |
| CHECK ... NOT VALID | niet aangemaakt | `check_not_valid` |
| gin, gist, brin and hash indexes, partial and expression indexes | niet aangemaakt | `index_skipped` |
| foreign keys | refererende sleutels, geladen met FOREIGN_KEY_CHECKS=0 |  |
| foreign keys to tables the dump doesn't create | niet aangemaakt | `foreign_key_skipped` |
| partitioned tables | één tabel met de rijen van elke partitie | `partitions_dropped` |
| schemas | één database, tabellen met de naam van hun schema ervoor | `schemas_merged` |
| views, functions, procedures, triggers, rules, policies, extensions and types | vermeld in het rapport | `not_converted_objects` |
| dumps without CREATE TABLE (--data-only) | typen afgeleid uit de waarden | `no_schema` |
| expressions in INSERT values | NULL | `expression_value` |
| types IntoSQL doesn't know | longtext | `unknown_type` |
| text that isn't valid in its encoding | de foute bytes als het vervangingsteken | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | ongewijzigd gekopieerd | `mojibake_suspected` |

## Het script in MariaDB laden

Het script maakt de tabellen aan, kopieert de rijen en voegt daarna sleutels, indexen en refererende sleutels toe, zodat het snel laadt en bij de eerste fout stopt.

```shell
mariadb --default-character-set=utf8mb4 mydb < postgresql.mariadb.sql
```

Refererende sleutels worden aangemaakt zoals de dump ze declareert, met FOREIGN_KEY_CHECKS=0 terwijl de rijen laden, zoals mysqldump doet.

Voer bij een grote dump de client uit op dezelfde machine als de server, en verhoog max_allowed_packet als één rij erg groot is.

IntoSQL Pro laadt het bestand rechtstreeks in MariaDB vanuit de desktopapp of de opdrachtregel, zonder een script te schrijven.

## Een dump van PostgreSQL maken voor het beste resultaat

De converter leest wat de dump bevat. Met deze opties blijft er meer van je data in staan:

- --format=plain, de standaard van pg_dump, schrijft SQL. Een custom- of directoryarchief (-Fc, -Fd) wordt SQL met pg_restore -f dump.sql, zonder databaseserver.
- --no-owner --no-privileges laten rollen en rechten weg, die de converter toch overslaat, dus de dump wordt kleiner.
- pg_dumpall zet elke database in één bestand; de tabellen van elke database krijgen de naam ervan, dus niets botst.

## Wat niet wordt geconverteerd

Weergaven, gematerialiseerde weergaven, functies, procedures, triggers, regels, beveiligingsbeleid voor rijen, extensies en typen zijn geschreven in de eigen taal van PostgreSQL. Ze staan op naam in het rapport en worden nooit stilletjes weggelaten, zodat je ze kunt herschrijven voor MariaDB.

## Vragen over PostgreSQL naar MariaDB

### Wordt mijn dump geüpload?

Nee. De converter draait in je browser en leest de dump in delen van je schijf, dus hij verlaat je computer nooit. De desktopapp en de opdrachtregel converteren ook op je computer.

### Hoe groot mag de dump zijn?

De converter houdt nooit de hele dump in het geheugen: hij leest het bestand twee keer, in bereiken, en schrijft het script gaandeweg. Dumps van meerdere gigabytes worden geconverteerd in de browser, in de desktopapp en met de opdrachtregel.

### Leest het pg_dump -Fc-archieven?

Niet direct: een custom-archief is een binair formaat. pg_restore -f dump.sql dump.backup zet het om naar de gewone SQL die de converter leest, zonder verbinding met een server. De converter meldt dat als hij een archief krijgt.

### Van welke PostgreSQL-versies kan de dump komen?

Dumps geschreven door pg_dump en pg_dumpall vanaf PostgreSQL 10, met rijen als COPY of INSERT. Elke testdump komt van PostgreSQL 13 en 18 en wordt cel voor cel met zijn bron vergeleken.

### Blijven serial- en identity-waarden behouden?

Ja, voor één kolom per tabel: de serial- of identity-kolom vooraan in de primaire sleutel wordt AUTO_INCREMENT en gaat verder na het hoogste id. Sequences die niet bij een kolom horen, worden MariaDB-sequences op de waarde die ze hadden bereikt.

### Wat gebeurt er met arrays, enums en andere PostgreSQL-typen?

Arrays worden JSON-arrays, booleans tinyint(1), enums ENUM met dezelfde labels, uuid UUID en money een decimal. Ranges, geometrische typen, hstore en samengestelde typen behouden de tekst van PostgreSQL, en het rapport zegt welke kolommen.

### En functies, triggers en weergaven?

Ze staan op naam in het rapport en worden niet geconverteerd, omdat elke database ze in een eigen taal schrijft.

### Op welke MariaDB-versies laadt het script?

MariaDB 10.11 en later. Elke testdump laadt op 10.11 en 11.4 en stopt bij de eerste fout als er iets misgaat.

## Vanuit PostgreSQL

- [PostgreSQL naar PostgreSQL](https://intosql.com/nl/postgresql-naar-postgresql)
- [PostgreSQL naar MySQL](https://intosql.com/nl/postgresql-naar-mysql)
- [PostgreSQL naar SQLite](https://intosql.com/nl/postgresql-naar-sqlite)
- [PostgreSQL naar SQL Server](https://intosql.com/nl/postgresql-naar-sql-server)
- [PostgreSQL naar Oracle](https://intosql.com/nl/postgresql-naar-oracle)

## Naar MariaDB

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

## Handleiding en elke combinatie

- [MariaDB naar PostgreSQL](https://intosql.com/nl/mariadb-naar-postgresql)
- [Migratiehandleiding PostgreSQL naar MariaDB](https://intosql.com/docs/migrations/postgresql-to-mariadb)
- [Datatypen van PostgreSQL naar MariaDB](https://intosql.com/docs/types/postgresql-to-mariadb)
- [Elke databasecombinatie](https://intosql.com/nl/databasemigratie)
