----- Original Message ----- 
  From: Matheus de Oliveira 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Tuesday, November 05, 2013 1:34 PM
  Subject: Re: [pgbr-geral] duvidas sobre replicacao por streaming




  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. 

              Matheus, acho que os conflitos estao acontecendo entao, por causa 
da remoçao de tuplas que os proprios usuarios fazem. O autovacuum esta 
desabilitado, pois é executado em horarios agendados no cron.




    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.


              A gente usa a versao 9.1, existe algo referente a isto nas 
versoes mais novas ?




  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