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.
-
Para capturar alterações de um banco de dados secundário, os privilégios de leitura/gravação devem ser configurados no banco de dados. Devido ao requisito de permissão de gravação , não há suporte para a réplica de leitura do PostgreSQL (em um ambiente de alta disponibilidade).
Para obter informações sobre a permissão de leitura e gravação, consulte Capturando alterações de um banco de dados do PostgreSQL instalado pelo cliente.
- 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.
- O processamento de alterações de operações TRUNCATE não é compatível.
- Restrições adiadas não são compatíveis.
-
A configuração padrão da identidade da Réplica tem apenas suporte.
Para obter mais informações sobre a identidade da Réplica, consulte https://www.postgresql.org/docs/10/logical-replication-publication.html
-
Í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 apenas para tarefas de replicação
- Tanto a tabela de origem quanto a tabela de destino correspondente devem ter uma chave primária idêntica. Caso uma das tabelas não tenha uma chave primária, o resultado das operações de registro DELETE e UPDATE será imprevisível.
- A opção de execução “Iniciar Alterações no Processo a partir do Carimbo de Data/Hora” não tem suporte.
- O Movendo da imagem anterior não é compatível.
-
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;
$$;
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