Einschränkungen und Überlegungen
Beachten Sie die folgenden Einschränkungen und Überlegungen, wenn Sie eine PostgreSQL-Quelle verwenden:
Einschränkungen und Überlegungen für alle Datenaufgaben
- Der Name der Datenbank darf kein Semikolon (;) enthalten.
- Die Erfassung von Änderungen für den Fall, dass sich die Datenbank im Hot Standby-Modus befindet, wird nicht unterstützt.
-
Um Änderungen aus einer sekundären Datenbank zu erfassen, müssen Schreib-/Leseberechtigungen für die Datenbank konfiguriert werden. Aufgrund der Schreibberechtigungsanforderung wird das PostgreSQL-Lesereplikat (in einer Hochverfügbarkeitsumgebung) nicht unterstützt.
Weitere Informationen zur Lese-Schreib-Berechtigung finden Sie unter Erfassen von Änderungen in einer beim Kunden installierten PostgreSQL-Datenbank.
- Verschieben aus mehreren Tabellen mit demselben Namen, jedoch unterschiedlichem Fall (z. B. table1, TABLE1 und Table1) kann zu unvorhersehbarem Verhalten führen und wird daher nicht unterstützt.
- Die Änderungsverarbeitung von TRUNCATE-Operationen wird nicht unterstützt.
- Zurückgestellte Einschränkungen werden nicht unterstützt.
-
Es wird nur die Standardkonfiguration der Replikatidentität unterstützt.
Weitere Informationen zur Replikatidentität finden Sie unter https://www.postgresql.org/docs/10/logical-replication-publication.html.
-
Eindeutige Indizes mit CASE-Formeln werden nicht unterstützt.
Einschränkungen und Überlegungen nur für Bereitstellungsaufgaben
- Partitionierte Tabellen werden nicht unterstützt.
- Erzwungenes Failover ist eine Funktion von Azure Database for PostgreSQL - Flexibler Server. Wenn ein erzwungenes Failover eintritt, während ein verschieben von Daten aus Azure Database for PostgreSQL – Flexibler Server läuft, wird die Aufgabe angehalten und die Datensätze müssen neu erstellt werden.
Einschränkungen und Überlegungen für Replikations- und Bereitstellungsaufgaben
- Sowohl die Quelltabelle als auch die entsprechende Zieltabelle müssen einen identischen Primärschlüssel haben. Für den Fall, dass eine der Tabellen keinen Primärschlüssel hat, ist das Ergebnis der Datensatzoperationen DELETE und UPDATE unvorhersehbar.
- Die Ausführungsoption “Prozessänderungen von Zeitstempel starten” wird nicht unterstützt.
- Verschieben des Vorher-Abbilds wird nicht unterstützt.
-
Die Änderungsverarbeitungen von [CREATE | ALTER | DROP] Tabellen-DDLs werden unterstützt, es sei denn, sie werden in einer inneren Funktion/einem Prozedurenkörperblock oder in anderen verschachtelten Konstrukten gehalten.
Beispielsweise wird die folgende Änderung nicht erfasst:
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;
$$;
Beim Erfassen von Änderungen an Quelltabellen wird ein RENAME TABLE-Vorgang nur erfasst, wenn ihm ein DML-Vorgang vorangegangen ist.
PostGIS-Datentypen werden nicht unterstützt.
Erzwungenes Failover ist eine Funktion von Azure Database for PostgreSQL - Flexibler Server. Wenn ein erzwungenes Failover eintritt, während ein verschieben von Daten aus Azure Database for PostgreSQL – Flexibler Server läuft, wird die Aufgabe angehalten und muss neu geladen werden.
Der Befehl SQL MERGE, der in PostgreSQL 15.x eingeführt wurde, ist nicht zertifiziert.
Nicht unterstützte Datentypen
Die folgenden Datentypen werden nicht unterstützt:
-
PostGIS
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE
- TSMULTIRANGE