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

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

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

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

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

## PostgreSQL ile SQLite 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.

| PostgreSQL içinde | SQLite içinde | Rapor satırı |
| --- | --- | --- |
| boolean | CHECK ile 0 veya 1 INTEGER |  |
| varchar(n), char(n), text | VARCHAR(n) ve TEXT, zorunlu tutulmaz |  |
| numeric(p,s) past 15 digits and numeric without a precision | TEXT | `decimal_as_text` |
| money | NUMERIC | `type_replaced` |
| interval | PostgreSQL'in metniyle TEXT | `type_replaced` |
| arrays (integer[], text[]...) | JSON dizisiyle TEXT | `type_replaced` |
| ranges, geometric types, tsvector, xml, hstore, PostGIS, composite and extension types | PostgreSQL'in metniyle TEXT | `type_replaced` |
| json, jsonb | TEXT |  |
| timestamp | ISO 8601 metni olarak DATETIME |  |
| timestamp with time zone | UTC'de ISO 8601 metni olarak TIMESTAMP | `moments_as_utc` |
| time | metin olarak TIME |  |
| infinity, -infinity and BC dates | 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 kaldırılır | `not_null_relaxed` |
| enum types | etiketlerini denetleyen bir CHECK ile TEXT |  |
| enum columns holding values outside their labels | CHECK olmadan TEXT | `enum_check_skipped` |
| uuid, inet, cidr, macaddr | TEXT |  |
| bytea | BLOB |  |
| bit(n), bit varying | 63 bite kadar bitlerin değeriyle INTEGER; ötesi TEXT basamakları |  |
| oid, xid, cid | negatif olmadığını denetleyen bir CHECK ile INTEGER |  |
| citext and nondeterministic collations | tam karşılaştırma | `case_insensitive_collation` |
| serial, identity | en yüksek id'den sonra devam eden INTEGER PRIMARY KEY AUTOINCREMENT |  |
| serial and identity columns that aren't the whole primary key | sayaçsız INTEGER | `counter_dropped` |
| sequences not owned by a column | oluşturulmaz | `sequence_not_converted` |
| generated columns | kaynaktaki gibi STORED veya VIRTUAL, GENERATED ALWAYS AS |  |
| generated columns with functions SQLite lacks | değerleriyle düz bir sütun | `generated_not_translated` |
| defaults with functions SQLite lacks, and defaults from a sequence | varsayılan değer yok | `default_not_translated` |
| CHECK constraints | çevrilir, CREATE TABLE içinde satır içi |  |
| CHECK constraints with functions SQLite lacks | oluşturulmaz | `check_skipped` |
| CHECK ... NOT VALID | oluşturulmaz | `check_not_valid` |
| gin, gist, brin and hash indexes, partial and expression indexes | oluşturulmaz | `index_skipped` |
| foreign keys | CREATE TABLE içinde, denetlenmeden yüklenir, ardından PRAGMA foreign_key_check ile listelenir |  |
| foreign keys to tables the dump doesn't create | oluşturulmaz | `foreign_key_skipped` |
| partitioned tables | her bölümün satırlarını içeren tek tablo | `partitions_dropped` |
| schemas | tek dosya, tabloların adı önce şemalarının adıyla başlar | `schemas_merged` |
| views, functions, procedures, triggers, rules, policies, extensions and types | 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 SQLite 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
sqlite3 -bail mydb.sqlite < postgresql.sqlite.sql
```

Yabancı anahtarlar her tabloda tanımlanır ve satırlar yabancı anahtar denetimleri kapalıyken yüklenir. Betik ardından, yarı yolda başarısız olmak yerine, var olmayan bir satıra işaret eden her satırı listeler.

Büyük bir döküm için yerel bir diskte yeni bir dosyaya yükleyin. Betik her şeyi senkronizasyon kapalı tek bir işlemde yükler; böylece disk hızında çalışır ve yarı yolda duran bir yükleme yarım tablo bırakmaz.

Komut satırı dosyayı doğrudan bir SQLite veritabanına yükler; betik yazmanız gerekmez. Ücretsizdir.

## 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

Görünümler, somutlaştırılmış görünümler, fonksiyonlar, saklı yordamlar, tetikleyiciler, kurallar, satır güvenlik ilkeleri, eklentiler ve türler PostgreSQL'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları SQLite için yeniden yazabilirsiniz.

## PostgreSQL - SQLite 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.

### 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?

Tablonun birincil anahtarının tamamı olan bir serial veya identity sütunu INTEGER PRIMARY KEY AUTOINCREMENT olur, her satır kendi id'sini korur ve sonraki id en yüksek id'den sonra devam eder. Diğerleri değerlerini sayaçsız korur ve rapor bunu belirtir.

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

Diziler JSON dizisi, boolean'lar 0 ve 1, enum'lar etiketlerini denetleyen bir CHECK ile metin, saat dilimli timestamp'ler UTC metni olur. Geniş numeric'ler metin olarak tam kalır. Range'ler, geometrik türler ve bileşik türler PostgreSQL'in metnini korur.

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

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

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

SQLite 3.31 ve sonrası. Her test dökümü 3.31 ve 3.54 üzerinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: PostgreSQL

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

## Hedef: SQLite

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

## Kılavuz ve tüm ikililer

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