O problema com colunas geradas
-
Não são publicadas via
pgoutput: Colunas geradas não são publicadas pelo plugin de replicação lógicapgoutput. Isso significa que, ao replicar dados do PostgreSQL para outro sistema, os valores das colunas geradas não são incluídos no fluxo de replicação. - Problemas com chaves primárias: Se uma coluna gerada fizer parte da sua chave primária, isso pode causar problemas de desduplicação no destino. Como os valores da coluna gerada não são replicados, o sistema de destino não terá as informações necessárias para identificar e desduplicar corretamente as linhas.
-
Problemas com alterações de esquema: Se você adicionar uma coluna gerada a uma tabela que já está sendo replicada, a nova coluna não será preenchida no destino, pois o Postgres não nos fornece a
RelationMessageda nova coluna. Se depois você adicionar uma nova coluna não gerada à mesma tabela, o ClickPipe, ao tentar reconciliar o esquema, não conseguirá encontrar a coluna gerada no destino, o que levará a uma falha no processo de replicação.
Boas práticas
- Recrie as colunas geradas no destino: Em vez de depender do processo de replicação para lidar com colunas geradas, recomenda-se recriar essas colunas no destino usando ferramentas como dbt (data build tool) ou outros mecanismos de transformação de dados.
- Evite usar colunas geradas em chaves primárias: Ao definir tabelas que serão replicadas, é melhor evitar incluir colunas geradas como parte da chave primária.
Próximas melhorias na UI
- Identificar tabelas com colunas geradas: A UI terá um recurso para identificar tabelas que contêm colunas geradas. Isso ajudará você a entender quais tabelas são afetadas por esse problema.
- Documentação e Boas Práticas: A UI incluirá boas práticas para o uso de colunas geradas em tabelas replicadas, incluindo orientações sobre como evitar erros comuns.