Begränsningar och överväganden
Du bör vara medveten om följande begränsningar och överväganden när du använder en PostgreSQL-källa:
Begränsningar och överväganden för alla datauppgifter
- Databasnamnet får inte innehålla ett semikolon (;).
- Det finns inget stöd för att registrera ändringar när databasen är i Hot Standby-läge.
-
För att registrera ändringar från en sekundär databas måste läs- och skrivrättigheter konfigureras för databasen. På grund av kravet på skrivbehörighetstöds inte PostgreSQL:s läskopia (i en högtillgänglighetsmiljö).
Information om läs- och skrivbehörighet behörigheter finns i Samla in ändringar från en kundinstallerad PostgreSQL-databas.
- Flyttar av flera tabeller med samma namn men med olika skiftläge (t.ex table1, TABLE1 och Table1) kan orsaka oförutsägbart beteende och stöds därför inte.
- Ändringsbehandling av TRUNCATE-åtgärder stöds inte.
- Uppskjutna begränsningar stöds inte.
-
Endast standardkonfigurationen för replikidentitet stöds.
Mer information om replikidentitet finns på https://www.postgresql.org/docs/10/logical-replication-publication.html
-
Unika index med CASE-uttryck stöds inte.
Begränsningar och överväganden endast för mellanlagringsuppgifter
- Partitionerade tabeller stöds inte.
- Tvingad failover är en funktion i Azure Database för PostgreSQL – Flexible Server. Om tvingad failover inträffar när data flyttar från Azure Database för PostgreSQL – Flexible Server stoppas uppgiften och datauppsättningarna måste skapas på nytt.
Begränsningar och överväganden endast för replikeringsuppgifter
- Både källtabellen och motsvarande måltabell måste ha en identisk primärnyckel. Om en av tabellerna inte har en primärnyckel kommer resultatet av DELETE- och UPDATE-registreringar att vara oförutsägbart.
- Köralternativet "Start Process Changes from Timestamp" stöds inte.
- Flyttar av före-bilden stöds inte.
-
Behandling av ändringar av [CREATE | ALTER | DROP]-tabell-DDL:er stöds om de inte finns i ett inre funktions-/procedurhuvuddelsblock eller i andra inbäddade konstruktioner.
Följande ändring kommer till exempel inte att registreras:
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;
$$;
När ändringar registreras för källtabeller kommer en RENAME TABLE-åtgärd bara att registreras om den föregås av en DML-åtgärd.
PostGIS-datatyper stöds inte.
Tvingad failover är en funktion i Azure Database för PostgreSQL – Flexible Server. Om tvingad failover inträffar när data flyttar från Azure Database för PostgreSQL – Flexible Server stoppas uppgiften och måste laddas om.
SQL MERGE-kommandot som introducerades i PostgreSCQL har inte certifierats.
Datatyper som inte stöds
Följande datatyper stöds inte:
-
PostGIS
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE
- TSMULTIRANGE