https://www.postgresql.org/docs/current/static/standby-settings.html
O atraso ocorre apenas em registros WAL para confirmações de transação. Outros registros são reproduzidos o mais rápido possível, o que não é um problema porque as regras de visibilidade do MVCC garantem que seus efeitos não sejam visíveis até que o registro de confirmação correspondente seja aplicado.
Eu pensei que enquanto o xlog de replicação de streaming é reproduzido no escravo. As transações locais não são reproduzidas. As instruções remotas que ignoram WAL (por exemplo create table nologging
) não são reproduzidas no escravo. Agora estou confuso - quais são esses outros registros que são reproduzidos sem esperarrecovery_min_apply_delay
? ..
Existem muitos registros de log de transações além de commits.
Alocações de ID de transação (aproximadamente como um BEGIN atrasado até a primeira gravação real). Inserções, atualizações, exclusões, vácuo, muitas operações internas.
A replicação de streaming síncrono aguarda apenas a confirmação de que a réplica reproduziu os registros do log de transações de confirmação . Não qualquer um dos outros.
Algumas coisas, como as
UNLOGGED
tabelas às quais você se refere, não geram nenhum log de transações. Portanto, eles não podem afetar as réplicas. Mas não é disso que essa passagem nos documentos está falando.