Ograniczenia i uwagi
Korzystając ze źródła PostgreSQL, należy pamiętać o następujących ograniczeniach i uwagach:
Ograniczenia i uwagi dotyczące wszystkich zadań danych
- Nazwa bazy danych nie może zawierać średnika (;).
- Nie jest obsługiwane przechwytywanie danych w czasie, gdy baza danych jest w trybie Hot Standby.
- Operacja Przenoszenie na wielu tabelach z taką samą nazwą, ale inną wielkością liter (np. table1, TABLE1 i Table1) może spowodować nieprzewidywalne zachowanie, więc nie jest obsługiwana.
- Replika odczytu PostgreSQL (w środowisku wysokiej dostępności) jest obsługiwana dopiero od wersji PostgreSQL 16.
- Przetwarzanie zmian operacji TRUNCATE nie jest obsługiwane.
- Odroczone ograniczenia nie są obsługiwane.
-
Unikatowe indeksy z wyrażeniami CASE nie są obsługiwane.
Ograniczenia i uwagi dotyczące tylko zadań umieszczania
- Tabele podzielone na partycje nie są obsługiwane.
- Wymuszone przełączanie awaryjne jest funkcją Azure Database for PostgreSQL – Flexible Server. Jeśli wymuszone przełączenie awaryjne nastąpi podczas operacji Przenoszenie na danych z Azure Database for PostgreSQL — Flexible Server, zadanie zostanie zatrzymane i zestawy danych będą musiały zostać odtworzone.
Ograniczenia i uwagi dotyczące zadań replikacji i umieszczania
-
Obsługa REPLICA IDENTITY:
-
Jeśli użyta zostanie opcja FULL, wartości obrazu przed zostaną zreplikowane dla wszystkich kolumn tabeli. Tylko w tym trybie możliwa jest zmiana definicji indeksu docelowego.
-
W przypadku użycia opcji DEFAULT replikacja jest obsługiwana tylko wtedy, gdy tabela zawiera klucz główny. Dodatkowo będą replikowane tylko obrazy przed kolumn klucza głównego.
-
USING INDEX jest obsługiwane tylko wtedy, gdy określony unikatowy indeks jest jedynym unikatowym ograniczeniem dla tabeli (co oznacza, że tabela nie ma klucza głównego ani innego unikatowego indeksu). W tym przypadku obsługa jest taka sama jak w przypadku opcji DEFAULT opisanej powyżej.
-
Ponieważ Qlik Talend Data Integration nie weryfikuje wartości REPLICA IDENTITY, pamiętaj, aby zdefiniować poprawną wartość.
-
- Opcja uruchomienia „Start Process Changes from Timestamp” (Rozpocznij przetwarzać zmiany na podstawie znacznika czasu) nie jest obsługiwana.
-
Przetwarzanie zmian instrukcji DDL [CREATE | ALTER | DROP] względem tabel jest obsługiwane, chyba że są zawarte w wewnętrznym bloku treści funkcji/procedury lub w innych konstrukcjach zagnieżdżonych.
Nie zostanie przechwycona na przykład następująca zmiana:
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;
$$;
- Operacja UPDATE obejmująca dwie partycje (przenoszenie rekordu między partycjami) zostanie replikowana do tabeli docelowej przy użyciu operacji DELETE i INSERT. Jeśli tryb replikacji Store Changes jest włączony, UPDATE pojawi się jako oddzielne operacje INSERT i DELETE w odpowiedniej tabeli zmian.
Podczas przechwytywania zmian w tabelach źródłowych operacja RENAME TABLE zostanie przechwycona tylko wtedy, gdy zostanie poprzedzona operacją DML.
Typy danych PostGIS nie są obsługiwane.
Wymuszone przełączanie awaryjne jest funkcją Azure Database for PostgreSQL – Flexible Server. Jeśli wymuszone przełączenie awaryjne nastąpi podczas operacji Przenoszenie na danych z Azure Database for PostgreSQL — Flexible Server, zadanie zostanie zatrzymane i trzeba będzie je przeładować.
Polecenie SQL MERGE wprowadzone w PostgreSQL 15.x nie zostało certyfikowane.
Nieobsługiwane typy danych
Następujące typy danych nie są obsługiwane:
-
PostGIS
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE
- TSMULTIRANGE