Sınırlamalar ve dikkate alınacak noktalar
PostgreSQL kaynağını kullanırken aşağıdaki sınırlamaları ve dikkate alınacak noktaları bilmeniz gerekir:
Tüm veri görevleri için sınırlamalar ve dikkat edilecek hususlar
- Veritabanı adı noktalı virgül (;) içeremez.
- Veritabanı Çalışırken Hazır Bekleme modundayken değişiklik yakalama desteklenmez.
-
İkincil bir veritabanından değişiklik yakalamak için veritabanında okuma/yazma ayrıcalıklarının yapılandırılması gerekir. Yazma izni gereksinimi nedeniyle PostgreSQL okuma çoğaltması (bir Yüksek Kullanılabilirlik ortamında) desteklenmez.
Okuma-yazma izni hakkında bilgi için bk. Müşteri tarafından yüklenmiş bir PostgreSQL veritabanından değişiklik yakalama.
- Adı aynı ancak harf büyüklüğü farklı olan (ör. table1, TABLE1 ve Table1) birden fazla tabloda Moving çoğaltma işlemi belirsiz davranışlara neden olabileceğinden desteklenmez.
- TRUNCATE işlemlerinde değişiklik işleme desteklenmez.
- Ertelenmiş Kısıtlamalar desteklenmez.
-
Çoğaltma kimliğinin varsayılan yapılandırması desteklenmez.
Çoğaltma kimliği hakkında daha fazla bilgi için bk. https://www.postgresql.org/docs/10/logical-replication-publication.html
-
CASE ifadeleri olan benzersiz dizinler desteklenmez.
Yalnızca yerleştirme görevleri için sınırlamalar ve hususlar
- Bölümlenmiş tablolar desteklenmez.
- Zorla yük devretme Azure Database for PostgreSQL – Flexible Server'ın bir özelliğidir. Azure Database for PostgreSQL – Flexible Server verilerinde moving işlemi yapılırken zorla yük devretme oluşursa, görev durur ve veri setlerinin yeniden oluşturulması gerekir.
Yalnızca çoğaltma görevleri için sınırlamalar ve dikkat edilecek hususlar
- Gerek kaynak tabloda, gerekse karşılık gelen hedef tabloda aynı Birincil Anahtar'ın olması gerekir. Tablolardan birinde bir Birincil Anahtar olmaması durumunda, kayıtlarda yapılan DELETE ve UPDATE işlemlerinin sonucu belirsiz olacaktır.
- "İşlem Değişikliklerini Zaman Damgasından Başlat" çalıştırma seçeneği desteklenmez.
- Önceki görüntüden Moving işlemi desteklenmez.
-
[CREATE | ALTER | DROP] tablo DDL'leri ile değişiklik işleme; bunlar bir iç fonksiyon/prosedür gövdesi blokunda veya iç içe başka bir yapıda olmadıkça desteklenmez.
Örneğin aşağıdaki değişiklik yakalanmaz:
CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);
END;
$$;
Kaynak tablolardaki değişiklikleri yakalarken bir RENAME TABLE işlemi yalnızca öncesinde bir DML işlemi varsa yakalanacaktır.
PostGIS veri türleri desteklenmez.
Zorla yük devretme Azure Database for PostgreSQL – Flexible Server'ın bir özelliğidir. PostgreSQL için Azure Veritabanı - Esnek Sunucu'dan moving verileri alınırken zorunlu yük devretme gerçekleşirse görev durur ve yeniden yüklenmesi gerekir.
PostgreSQL 15.x'te tanıtılan SQL MERGE komutu onaylanmamıştır.
Desteklenmeyen veri türleri
Şu veri türleri desteklenmez:
-
PostGIS
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE
- TSMULTIRANGE