2013/11/5 Wellington <[email protected]>

> Pessoal, boa tarde a todos,
>
> tenho uma duvida: Por que ao fazer uma consulta sql em um servidor
> Slave, as vezes o PostgreSQL cancela as consultas ?
> O erro mostrado eh o seguinte: "Comando cancelado devido a conflitos de
> recuperacao".
>
>
Isso ocorre devido à um conflito com o que está sendo replicado (enviado
pelo master) e o que está sendo consultado no slave. Por exemplo (bem
superficial), vamos pensar que o autovacuum removeu a tupla X no master,
quando essa informação é enviada para o slave, o mesmo deve removê-la
também, mas pode ser que alguma consulta esteja lendo ela (ela está visível
à transação), logo o slave não pode remover, ou seja, houve um conflito
entre um comando executando no slave e o enviado pelo walsender do master.

Soluções, vão depender da sua versão do PostgreSQL e uma análise mais
detalhada.


> Outra duvida: Existe algum processo automatico que verifica se o servidor
> slave esta com os dados sincronizados com o servidor master ?
>
>
Sim. Também vai depender de sua versão do PostgreSQL.


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a