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
