On 04-09-2013 23:12, Danilo Silva wrote:
> Em 4 de setembro de 2013 23:01, Euler Taveira <[email protected]>escreveu:
> 
>> On 04-09-2013 22:33, Danilo Silva wrote:
>>> Euler, se for necessário um reinicio do slave, será necessário efetuar
>>> novamente a cópia base do master, certo?
>>>
>> Não. Mesmo que você não esteja arquivando e o número de
>> checkpoint_segments seja baixo, o reinício é tão rápido que duvido que o
>> Postgres consiga consumir e reciclar esse número baixo.
>>
> 
> Mas, e se o número de transações forem altas, ou seja, várias operações de
> escrita ocorrendo no mestre enquanto se reinicia o escravo?
> 
Você não entendeu o que eu disse então vamos trocar em miúdos... Mesmo
tendo um volume de transações alto, você não vai conseguir preencher
aproximadamente 3 * checkpoint_segments + 1 = 10 segmentos (160MB,
configuração padrão) em uma fração de segundo (tempo para reinício).
Nesse caso, somente após consumir os 10 segmentos é que o primeiro é
reciclado fazendo com que a informação necessária no servidor réplica
seja perdida.

É claro que em volumes altos de transações, o valor de
checkpoint_segments é definido em pelo menos algumas dezenas senão centenas.

Isso quer dizer que mesmo se você parar um servidor com
wal_keep_segments = 0 e sem arquivamento, a replicação pode voltar a
funcionar desde que o volume de transações não extrapole a quantidade de
segmentos mencionados na fórmula (aproximada) acima.


-- 
   Euler Taveira                   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a