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

* 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.

* PostgreSQL:s läskopia (i en högtillgänglighetsmiljö) stöds endast från PostgreSQL 16.

* Ändringsbehandling av TRUNCATE-åtgärder stöds inte.

* Uppskjutna begränsningar stöds inte.

* 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 för replikering och mellanlagringsuppgifter

* Stöd för REPLICA IDENTITY:

  * Om FULL används kommer de gamla värdena att replikeras för alla tabellkolumner. Endast i detta läge är det möjligt att omdefiniera målindexet.

  * Om DEFAULT används stöds replikering endast när en tabell innehåller en primärnyckel. Dessutom kommer endast Primary Key-kolumnerna för de gamla värdena att replikeras.

  * USING INDEX stöds endast när det angivna unika indexet är den enda unika begränsningen för tabellen (vilket innebär att tabellen inte har någon primärnyckel eller något annat unikt index). I detta fall stöds det på exakt samma sätt som DEFAULT-värdet som beskrivs ovan.

  * Eftersom Qlik Talend Data Integration inte verifierar värdet för REPLICA IDENTITY måste du se till att ange rätt värde.

* Köralternativet "Start Process Changes from Timestamp" 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;`

  `$$;`

* En UPDATE-åtgärd som omfattar två partitioner (flyttning av en post mellan partitioner) kommer att replikeras på måltabellen med hjälp av DELETE- och INSERT-åtgärder Om replikering av Store Changes är aktiverat kommer UPDATE att visas som separata INSERT- och DELETE-åtgärder i motsvarande Change Table.

* När du använder funktionen [parallell inläsning](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/Table-settings-replication.htm) stöds inte tabellsegmentering enligt partitioner eller underpartitioner.

* 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 15.x har inte certifierats.

## Datatyper som inte stöds

Följande datatyper stöds inte:

* PostGIS

* INT4MULTIRANGE

* INT8MULTIRANGE

* NUMMULTIRANGE

* TSMULTIRANGE