---
title: "PostgreSQL dökümünü başka bir sürüme taşıyın"
description: "PostgreSQL 10 veya sonrasından bir pg_dump dosyasını PostgreSQL 13 ile 18 arasında yüklenen bir betiğe dönüştürün; aynı tablolar, anahtarlar ve verilerle, raporuyla."
canonical: https://intosql.com/tr/postgresql-postgresql-donusturme
last_updated: 2026-10-15
---

# PostgreSQL dökümünü başka bir sürüme taşıyın

pg_dump veya pg_dumpall ile alınmış düz bir dökümü .sql ya da .sql.gz olarak bırakın ve dökümü hangi sürüm yazmış olursa olsun PostgreSQL 13 ile 18 arasında yüklenen tek bir betik indirin. Identity'ler, enum'lar, diziler ve jsonb olduğu gibi kalır, bir eklentinin getirdiği türler text olur ve her değişiklik raporda listelenir.

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

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

## Dosya ile betik 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.

| Dosyada | Betikte | Rapor satırı |
| --- | --- | --- |
| varchar(n), char(n), text | aynı türler |  |
| numeric(p,s), numeric without a precision, NaN and Infinity | aynı türler ve değerler |  |
| money | numeric(19,2) | `type_replaced` |
| enum types | tablolardan önce oluşturulan aynı enum türleri |  |
| enum columns holding values outside their labels | CHECK olmadan text | `enum_check_skipped` |
| composite and range types the dump defines, extension types (citext, hstore, ltree, PostGIS) and multiranges | PostgreSQL'in metniyle text | `type_replaced` |
| citext | tam karşılaştırılan text | `case_insensitive_collation` |
| json, jsonb | aynı türler |  |
| timestamp with time zone | timestamptz, aynı anlar |  |
| time, time with time zone | aynı türler |  |
| infinity, -infinity and BC dates | korunur |  |
| NaN and Infinity in numeric, real and double precision | korunur |  |
| generated columns | aynı üretilen sütunlar |  |
| generated columns with functions IntoSQL doesn't write | değerleriyle düz bir sütun | `generated_not_translated` |
| defaults with functions IntoSQL doesn't write | varsayılan değer yok | `default_not_translated` |
| CHECK constraints with functions IntoSQL doesn't write | oluşturulmaz | `check_skipped` |
| CHECK ... NOT VALID | satırlardan sonra NOT VALID olarak eklenir |  |
| gin, gist, brin and hash indexes, partial and expression indexes | oluşturulmaz | `index_skipped` |
| foreign keys to tables the dump doesn't create | oluşturulmaz | `foreign_key_skipped` |
| NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| partitioned tables | her bölümün satırlarını içeren tek tablo | `partitions_dropped` |
| views, functions, procedures, triggers, rules, policies, extensions and types other than enums | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE (--data-only) | değerlerden okunan türler | `no_schema` |
| expressions in INSERT values | NULL | `expression_value` |
| types IntoSQL doesn't know | text | `unknown_type` |
| text that isn't valid in its encoding | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |

## 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 postgresql.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 PostgreSQL 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:

- --format=plain, pg_dump'ın varsayılanı, SQL yazar. Custom veya directory arşivi (-Fc, -Fd), veritabanı sunucusu olmadan pg_restore -f dump.sql ile SQL'e çevrilir.
- --no-owner --no-privileges rolleri ve yetkileri dışarıda bırakır; dönüştürücü bunları zaten atlar, böylece döküm küçülür.
- pg_dumpall her veritabanını tek dosyaya döker; her birinin tablolarının adı onun adıyla başlar, böylece hiçbir şey çakışmaz.

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

PostgreSQL kendi dilinde yazılmış görünümler, tetikleyiciler, yordamlar, fonksiyonlar ve diğer nesneler raporda adlarıyla listelenir, asla sessizce atlanmaz; böylece yeniden oluşturmadan önce her birini yüklediğiniz PostgreSQL sürümüyle karşılaştırabilirsiniz.

## PostgreSQL sürümleri arasında taşıma 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.

### pg_dump -Fc arşivlerini okuyor mu?

Doğrudan değil: custom arşiv ikili bir biçimdir. pg_restore -f dump.sql dump.backup, bir sunucuya bağlanmadan onu dönüştürücünün okuduğu düz SQL'e çevirir. Dönüştürücü bir arşiv aldığında bunu söyler.

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

PostgreSQL 10 ve sonrasından pg_dump ve pg_dumpall ile yazılmış, COPY veya INSERT satırları içeren dökümler. Her test dökümü PostgreSQL 13 ve 18'den gelir ve kaynağıyla hücre hücre karşılaştırılır.

### serial ve identity değerleri korunuyor mu?

Evet. serial ve identity sütunları kimlik sütunu olarak kalır, her satır kendi id'sini korur ve her sayaç dökümdeki sequence'ın ulaştığı değerden devam eder.

### Diziler, enum'lar ve diğer PostgreSQL türleri ne olur?

Olduğu gibi kalırlar: diziler, range'ler, json ve jsonb, bit dizileri, money hariç. Enum türleri etiketleriyle yeniden oluşturulur. Bir eklentinin getirdiği türler (citext, hstore, PostGIS) ve bileşik türler text olur ve rapor hangi sütunlar olduğunu söyler.

### Fonksiyonlar, tetikleyiciler ve görünümler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler; böylece tablolar yüklendikten sonra onları yeniden oluşturabilirsiniz. NOT VALID CHECK kısıtları satırlardan sonra, yine geçerlenmemiş olarak eklenir.

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

Dökümü hangi sürüm yazmış olursa olsun PostgreSQL 13 ile 18 arası. Aynı betik her birinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: PostgreSQL

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

## Hedef: PostgreSQL

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