On Thu, May 21, 2015 at 2:19 PM, Danilo Silva <[email protected]>
wrote:

> Li na documentação mas não entendi muito bem, vocês poderiam explicar o
> que quer dizer as colunas sent_location, , write_location, flush_location,
> replay_location da view pg_stat_replication (PostgreSQL 9.3).


* sent_location -- posição do último registro XLOG/WAL enviado ao slave,
àquele que o "wal sender" acabou de mandar;

* write_location -- posição do último registro que foi escrito no slave, ou
seja o "wal sender" manda, o "wal receiver" recebe (digamos que ainda em
memória) e escreve em disco (no pg_xlog), esta é a posição do último que
foi escrito;

* flush_location -- posição do último registro que foi sincronizado, após o
"wal receiver" escrever no disco (write) este executa um sync/fsync do
arquivo, garantido que os dados estão realmente persistidos (e não ficou em
nenhum cache volátil);

* replay_location -- após o dado ser "enviado" (sent_location), "recebido"
(no slave função pg_last_xlog_receive_location), "escrito no pg_xlog"
(write_location), e "sincronizado" (flush_location); o "wal receiver" passa
para o próximo registro e é responsabilidade agora do "startup process" de
aplicar esses registros no diretório de dados, sendo "replay_location" a
posição do último registro que foi aplicado/reproduzido pelo "startup
process" (por exemplo, se for um COMMIT, significa que o registro está
disponível [em caso de hot standby] para consulta).

A bem grosso modo (escondendo detalhes mais internos), é isso. Ficou claro
agora?

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