Índice
O PostgreSQL fornece infraestrutura para transmitir as modificações realizadas via SQL para consumidores externos. Essa funcionalidade pode ser usada para diversos fins, incluindo soluções de replicação e auditoria.
As alterações são enviadas em fluxos identificados por encaixes (slots) de replicação lógica.
O formato no qual essas alterações são transmitidas é determinado
pelo plugin de saída usado.
Um exemplo de plugin é fornecido na
distribuição do PostgreSQL.
Podem ser escritos plugins adicionais
para ampliar a escolha de formatos disponíveis, sem modificar nenhum
código principal.
Cada plugin de saída tem acesso
a cada nova linha individual produzida pelo INSERT
e à nova versão da linha criada pelo UPDATE
.
A disponibilidade de versões de linha antigas para
UPDATE
e DELETE
depende da
identidade da réplica configurada
(veja REPLICA IDENTITY).
As alterações podem ser consumidas usando o protocolo de replicação por fluxo (streaming) (veja Streaming Replication Protocol e Interface do protocolo de replicação por fluxo), ou chamando funções via SQL (veja Interface SQL de decodificação lógica). Também é possível escrever métodos adicionais para consumir a saída de um encaixe de replicação sem modificar o código principal (veja Escritores de saída de decodificação lógica).