# Limitações e considerações

Você deve estar ciente das seguintes limitações e considerações ao usar uma fonte PostgreSQL:

## Limitações e considerações para todas as tarefas de dados

* O nome do banco de dados não pode incluir um ponto e vírgula (;).

* A captura de alterações enquanto o banco de dados está no modo Hot Standby não tem suporte.

* O Movendo de várias tabelas com o mesmo nome, mas um caso diferente (por exemplo, `table1`, `TABLE1` e `Table1`) pode causar um comportamento imprevisível e, portanto, não tem suporte.

* A réplica de leitura do PostgreSQL (em um ambiente de alta disponibilidade) é compatível apenas com o PostgreSQL 16.

* O processamento de alterações de operações TRUNCATE não é compatível.

* Restrições adiadas não são compatíveis.

* Índices exclusivos com expressões CASE não são compatíveis.

## Limitações e considerações apenas para tarefas de preparação

* As tabelas particionadas não são compatíveis.
* O failover forçado é um recurso do Azure Database for PostgreSQL – Flexible Server. Se ocorrer um failover forçado ao movendo dados do Azure Database for PostgreSQL – Flexible Server, , a tarefa será interrompida e os conjuntos de dados precisarão ser recriados.

## Limitações e considerações para tarefas de replicação e de aterrisagem

* Suporte a REPLICA IDENTITY:

  * Se FULL for usado, os valores anteriores à imagem serão replicados para todas as colunas da tabela. Somente ao usar esse modo é possível redefinir o índice de destino.

  * Se DEFAULT for usado, a replicação será compatível somente quando uma tabela contiver uma chave primária. Além disso, apenas as colunas de chave primária da imagem anterior serão replicadas.

  * USING INDEX é compatível somente quando o Unique Index especificado é a única restrição exclusiva da tabela (o que significa que a tabela não tem uma chave primária ou outro índice exclusivo). Nesse caso, ele é compatível exatamente da mesma forma que o valor DEFAULT descrito acima.

  * Como o Qlik Talend Data Integration não verifica o valor REPLICA IDENTITY, certifique-se de definir o valor correto.

* A opção de execução “Iniciar Alterações no Processo a partir do Carimbo de Data/Hora” não tem suporte.

* O processamento de alterações de DDLs de tabela [CREATE | ALTER | DROP] tem suporte, a menos que sejam mantidos em um bloco de corpo de função/procedimento interno ou em outras construções aninhadas.

  Por exemplo, a seguinte alteração não será capturada:

  `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;`

  `$$;`

* Uma operação UPDATE que envolva duas partições (mover um registro entre partições) será aplicada para a tabela de destino usando as operações DELETE e INSERT. Se o modo de replicação Store Changes estiver ativado, UPDATE aparecerá como operações INSERT e DELETE separadas na tabela de alterações correspondente.

* Ao usar o recurso [Carga Paralela](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/Table-settings-replication.htm), a segmentação de tabela de acordo com partições ou subpartições não é compatível.

* Ao capturar alterações em tabelas de origem, uma operação RENAME TABLE será capturada somente se for precedida por uma operação DML.

* Não há suporte para os tipos de dados PostGIS.

* O failover forçado é um recurso do Azure Database for PostgreSQL – Flexible Server. Se um failover forçado ocorrer ao movendo dados do Banco de Dados do Azure para PostgreSQL – Servidor Flexível, a tarefa será interrompida e precisará ser recarregada.

* O comando SQL MERGE introduzido no PostgreSQL 15.x não foi certificado.

## Tipos de dados sem suporte

Os seguintes tipos de dados não têm suporte:

* PostGIS

* INT4MULTIRANGE

* INT8MULTIRANGE

* NUMMULTIRANGE

* TSMULTIRANGE