Qual é o método mais conveniente para garantir que a replicação quente do PostgreSQL 9.x ainda esteja funcionando corretamente?

2

Assumindo que eu tenho replicação quente do servidor , tudo bem, quais são os passos mais fáceis e convenientes? pode levar periodicamente para garantir que a replicação do servidor hot ainda está funcionando bem e como deveria ser.

Pensei em comparar SELECT txid_current_snapshot(); nos dois servidores. Isso é bom e seguro o suficiente para assumir que a replicação está funcionando bem se a combinação de 2 txid s

    
por uzyn 28.01.2013 / 16:28

2 respostas

1

O wiki do PostgreSQL tem essa informação em sua página na replicação de streaming :

You can calculate the replication lag by comparing the current WAL write location on the primary with the last WAL location received/replayed by the standby. They can be retrieved using pg_current_xlog_location on the primary and the pg_last_xlog_receive_location / pg_last_xlog_replay_location on the standby, respectively.

Essas funções retornam uma string com o formato id/offset , em que id e offset são números hexadecimais. Para convertê-los em números de 64 bits para fins de comparação, você pode usar essa fórmula, tirada do check_postgres Plugin Nagios:

0xff000000 * from_hex(id) + from_hex(offset)

Em um script bash, isso pode ser feito com esta função:

xlog_location_to_64bits()
{
  id="${1%%/*}"
  offset="${1##*/}"
  echo $((0xFF000000 * 0x$id + 0x$offset))
}

Subtrair o valor no escravo do valor no mestre fornece o atraso de replicação em bytes.

    
por 29.01.2013 / 03:04
0

Para mim, o método mais conveniente seria o mencionado na etapa 12 desta página :

# The displayed LSNs indicate the byte position that the standby server has
# written up to in the xlogs.
[primary] $ ps -ef | grep sender
postgres  6879  6831  0 10:31 ?        00:00:00 postgres: wal sender process postgres    127.0.0.1(44663) streaming 0/2000000

[standby] $ ps -ef | grep receiver
postgres  6878  6872  1 10:31 ?        00:00:01 postgres: wal receiver process   streaming 0/2000000
    
por 21.01.2014 / 08:28