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
