---
title: "MariaDB - PostgreSQL taşıma, tarayıcınızda"
description: "Bir MariaDB veritabanını PostgreSQL hedefine taşıyın: dökümünü aynı tablolar, anahtarlar, diziler ve verilerle bir betiğe dönüştürün, her değişikliğin raporuyla."
canonical: https://intosql.com/tr/mariadb-postgresql-donusturme
last_updated: 2026-10-15
---

# MariaDB - PostgreSQL taşıma, tarayıcınızda

mariadb-dump, mysqldump, phpMyAdmin veya Adminer ile alınmış bir dökümü .sql veya .sql.gz olarak bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir PostgreSQL betiği indirin. PostgreSQL'in olduğu gibi tutamadığı her değer ve taşımadığı her nesne raporda listelenir.

[MariaDB - PostgreSQL taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-postgresql)

[MariaDB - PostgreSQL veri türleri](https://intosql.com/docs/types/mariadb-to-postgresql)

## MariaDB ile PostgreSQL arasında neler değişir

Her satır, dönüştürücünün uyguladığı bir kuraldır; yanında, kural verilerinizde bir şeyi değiştirdiğinde yazılan rapor satırı yer alır.

| MariaDB içinde | PostgreSQL içinde | Rapor satırı |
| --- | --- | --- |
| TINYINT(1), BOOL | her değer 0 veya 1 ise boolean, değilse smallint | `bool_kept_numeric` |
| UNSIGNED integers | negatif olmadığını denetleyen bir CHECK ile bir sonraki geniş tam sayı; BIGINT UNSIGNED her değer sığıyorsa bigint, değilse numeric(20,0) | `unsigned_widened` |
| ZEROFILL and display widths | kaldırılır | `zerofill_dropped` |
| FLOAT(M,D) | ölçek olmadan real veya double precision | `float_scale_dropped` |
| BIT(1), BIT(n) | boolean, bit(n) |  |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | NULL | `invalid_date_null` |
| NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| DEFAULT '0000-00-00' | varsayılan değer yok | `zero_date_default` |
| TIME | her değer bir gün içindeyse time, değilse interval | `time_as_interval` |
| YEAR | aralığını denetleyen bir CHECK ile smallint |  |
| CHAR(n) | varchar(n) |  |
| DATETIME | timestamp |  |
| TIMESTAMP | dökümün belirttiği saat diliminde timestamptz, belirtmiyorsa UTC | `timestamp_zone_assumed` |
| ENUM | değerlerini denetleyen bir CHECK ile text |  |
| ENUM holding '' (MySQL's error value) | CHECK'in izin verdiği boş değer | `enum_invalid_value` |
| ENUM or SET holding values outside its list | CHECK yok | `enum_check_skipped` |
| SET | her öğenin listede olduğunu denetleyen bir CHECK ile text[] |  |
| JSON | jsonb; bir değer \u0000 içerdiğinde json | `json_not_jsonb` |
| NUL bytes in text | kaldırılır | `nul_removed` |
| text that isn't valid in its character set | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |
| AUTO_INCREMENT | sayacı kopyalanan id'lerin ötesine ayarlanmış GENERATED BY DEFAULT AS IDENTITY |  |
| MyISAM AUTO_INCREMENT on the second column of a key | tablo için tek sayaç | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | bir BEFORE UPDATE tetikleyicisi | `on_update_trigger` |
| generated columns | STORED | `virtual_as_stored` |
| generated columns with functions PostgreSQL lacks | düz bir sütun | `generated_not_translated` |
| INVISIBLE columns | normal sütunlar | `invisible_column` |
| CHECK constraints | çevrilir, CREATE TABLE içinde satır içi |  |
| CHECK constraints with functions PostgreSQL lacks | oluşturulmaz | `check_skipped` |
| CHECK ... NOT ENFORCED | oluşturulmaz | `check_not_enforced` |
| defaults with functions PostgreSQL lacks | varsayılan değer yok | `default_not_translated` |
| keys and indexes on a prefix, c(20) | left(c, 20) üzerinde bir indeks | `prefix_unique` |
| FULLTEXT indexes | to_tsvector('simple', ...) üzerinde GIN | `fulltext_as_gin` |
| indexes on values over 2,000 bytes | hash | `index_on_wide_values` |
| SPATIAL indexes | PostGIS olmadan oluşturulmaz | `spatial_index_skipped` |
| functional indexes PostgreSQL can't write | oluşturulmaz | `index_skipped` |
| foreign keys | veriden sonra, NOT VALID, ardından yetim satırlar için uyarıyla doğrulanır |  |
| foreign keys to columns without a unique key | oluşturulmaz | `foreign_key_skipped` |
| table and column names | benzersiz kaldığında küçük harf | `identifier_renamed` |
| names over 63 bytes | bir hash ile kısaltılır | `name_shortened` |
| GEOMETRY, POINT, POLYGON... | bytea içinde WKB | `geometry_as_wkb` |
| INET4, INET6, UUID (MariaDB) | inet, uuid |  |
| BINARY, VARBINARY, BLOB | bytea |  |
| PARTITION BY | tek tablo | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | mevcut satırları içeren bir tablo | `system_versioning_dropped` |
| MyISAM, MEMORY and other engines | normal bir tablo | `engine_dropped` |
| views, triggers, procedures, functions and events | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE | değerlerden okunan türler | `no_schema` |
| geometries in a dump without CREATE TABLE | bytea içinde WKB | `geometry_inferred` |
| _ci collations | tam karşılaştırma | `case_insensitive_collation` |
| SET NAMES utf8 from utf8mb4 tables | dönüştürülür, uyarıyla | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | Latin-1 (Windows-1252) olarak okunur | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | uyarıyla UTF-8 olarak okunur | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | hesaplanır |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | sütunun varsayılan değeri | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | düz satırlar | `replace_as_insert` |
| types IntoSQL doesn't know | text | `unknown_type` |
| values that don't fit their column | NULL | `invalid_value_null` |
| unreadable geometries | NULL | `bad_geometry` |
| CREATE SEQUENCE (MariaDB) | mevcut değeriyle CREATE SEQUENCE |  |
| VECTOR(n) (MariaDB 11.7+) | float'ları dizi olarak tutan jsonb | `type_replaced` |

## Betiği PostgreSQL veritabanına yükleyin

Betik tabloları oluşturur, satırları kopyalar, ardından anahtarları, indeksleri ve yabancı anahtarları ekler; böylece hızlı yüklenir ve ilk hatada durur.

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

Yabancı anahtarlar NOT VALID olarak eklenir ve ardından doğrulanır. Bir satır var olmayan bir satıra işaret ediyorsa betik, yarı yolda başarısız olmak yerine hangi kısıtın sorunlu olduğunu söyler.

Büyük bir döküm için önce veritabanını oluşturun ve betiği sunucuyla aynı makinede psql ile çalıştırın.

IntoSQL Pro, dosyayı masaüstü uygulamasından veya komut satırından doğrudan PostgreSQL veritabanına yükler; betik yazmanız gerekmez.

## En iyi sonuç için MariaDB dökümü nasıl alınır

Dönüştürücü, dökümün içerdiğini okur. Bu seçenekler verilerinizin daha fazlasını dökümde tutar:

- --default-character-set=utf8mb4 emoji ve diğer 4 baytlık karakterleri korur; utf8mb3 dökümü bunları dönüştürücü görmeden önce kaybeder.
- --hex-blob ikili sütunları ve VECTOR değerlerini onaltılık olarak yazar; bu biçim sistemler arasında kopyalamada bozulmaz.
- --routines --triggers --events bu nesneleri döküme ekler; böylece rapor onları listeleyebilir.

## Neler dönüştürülmez

Görünümler, tetikleyiciler, saklı yordamlar, fonksiyonlar ve olaylar MariaDB'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları PostgreSQL için yeniden yazabilirsiniz.

## MariaDB - PostgreSQL dönüştürme hakkında sorular

### Dökümüm yükleniyor mu?

Hayır. Dönüştürücü tarayıcınızda çalışır ve dökümü diskinizden parça parça okur; böylece döküm bilgisayarınızdan hiç çıkmaz. Masaüstü uygulaması ve komut satırı da bilgisayarınızda dönüştürür.

### Döküm ne kadar büyük olabilir?

Dönüştürücü dökümün tamamını asla bellekte tutmaz: dosyayı aralıklar halinde iki kez okur ve betiği ilerledikçe yazar. Birkaç gigabaytlık dökümler tarayıcıda, masaüstü uygulamasında ve komut satırıyla dönüştürülür.

### Döküm hangi MariaDB sürümlerinden gelebilir?

MariaDB 10.3 ile 12 arasında mariadb-dump ve mysqldump ile alınmış, tablo başına bir INSERT veya satır başına bir INSERT içeren dökümler. Her test dökümü MariaDB 10.11, 11.4 ve 11.8'den gelir ve kaynağıyla hücre hücre karşılaştırılır.

### UUID, INET6, JSON ve VECTOR sütunları korunuyor mu?

UUID uuid, INET4 ve INET6 inet, JSON jsonb, VECTOR ise float'larından oluşan bir jsonb dizisi olur. Sıfır tarihler NULL olur ve rapor onları sayar.

### AUTO_INCREMENT değerleri ve sequence'lar korunuyor mu?

Evet. Her AUTO_INCREMENT sütunu, en yüksek id'den sonra devam eden bir kimlik sütunu olur. Sequence'lar PostgreSQL sequence'ı olur ve bunlardan değer alan varsayılanlar onlardan değer almaya devam eder.

### Saklı yordamlar ve tetikleyiciler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler, çünkü her veritabanı onları kendi dilinde yazar.

### Betik hangi PostgreSQL sürümlerinde yüklenir?

PostgreSQL 13 ile 18 arası. Aynı betik her birinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: MariaDB

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

## Hedef: PostgreSQL

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

## Kılavuz ve tüm ikililer

- [PostgreSQL - MariaDB](https://intosql.com/tr/postgresql-mariadb-donusturme)
- [MariaDB - PostgreSQL taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-postgresql)
- [MariaDB - PostgreSQL veri türleri](https://intosql.com/docs/types/mariadb-to-postgresql)
- [Tüm veritabanı ikilileri](https://intosql.com/tr/veritabani-tasima)
