Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 28/02/2018 12:33:06
- Djam75
- Membre
Requete Gap replication Standby
Bonjour ,
Je cherche une requête , si c'est possible, qui envoie le même résultat que "show pool_nodes;" ou une requête qui envoie le Gap de la replication Standby
postgres=> show pool_nodes;
node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay
---------+----------+------+--------+-----------+---------+------------+-------------------+-------------------
0 | osspc19 | 5432 | down | 0.500000 | standby | 0 | false | 0
1 | osspc20 | 5432 | up | 0.500000 | primary | 0 | true | 0
Merci d'avance
Djam
Hors ligne
#2 28/02/2018 12:54:03
- ruizsebastien
- Membre
Re : Requete Gap replication Standby
bonjour,
Comme ça rapidement je dirais :
select * from pg_stat_replication;
Sinon vous pouvez aussi envoyer simultanement les requêtes suivantes sur le master et sur le slave :
select pg_current_xlog_location(); (sur le master)
select pg_last_xlog_receive_location(); (sur le slave)
Cordialement,
Sébastien.
Hors ligne
#3 28/02/2018 13:21:49
- Djam75
- Membre
Re : Requete Gap replication Standby
Merci sébastien pour ta réponse :-), j'ai noté tes requetes qui me donnent pas mal d'infos sur la replication.
j'ai trouvé cette requête sur le net, je ne sais pas si il faut la lancer sur le master ou la standby! tu as une idée stp
[ réf https://www.enterprisedb.com/blog/monit … gresql-93]
ii. Calculating lags in Seconds. The following is SQL, which most people uses to find the lag in seconds:
SELECT CASE WHEN pg_last_xlog_receive_location() = pg_last_xlog_replay_location()
THEN 0
ELSE EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp())
END AS log_delay;
Hors ligne
#4 28/02/2018 14:07:44
- ruizsebastien
- Membre
Re : Requete Gap replication Standby
ça marche sur les deux.
Dernière modification par ruizsebastien (28/02/2018 14:09:11)
Cordialement,
Sébastien.
Hors ligne
#5 28/02/2018 14:38:19
- gleu
- Administrateur
Re : Requete Gap replication Standby
Cette requête n'a un intérêt que sur un standby. De plus, elle sert à mesurer la différence entre ce qui a été reçu et rejoué sur le standby. En gros, ça aide à savoir si tout ce qui a été reçu est réellement visible ou s'il reste des enregistrements à rejouer. Elle ne sert pas du tout à connaître le retard du standby avec le master.
Guillaume.
Hors ligne
#6 28/02/2018 15:24:31
- Djam75
- Membre
Re : Requete Gap replication Standby
Merci Guillaume pour tes explications, à tout hasard, tu n'as pas une requête qui permet de retourner le retard de la Standby par rapport à la primaire
Hors ligne
#7 28/02/2018 18:37:10
- gleu
- Administrateur
Re : Requete Gap replication Standby
Le problème, c'est qu'il n'y a pas qu'une seule réponse à ça. Ça dépend de votre version de PostgreSQL, ça dépend aussi du retard dont vous parlez (données envoyées ? données enregistrées ? données rejouées ?). En fait, vous devez soustraire l'emplacement actuel des journaux de transactions (pg_current_wal_lsn()) avec la position reçue (sent_lsn), rejouée (replay_lsn), ou autre, à partir de la vue système pg_stat_replication.
Guillaume.
Hors ligne
#8 28/02/2018 18:55:17
- Djam75
- Membre
Re : Requete Gap replication Standby
OK, c'est noté.
notre version est 9.6
Hors ligne
Pages : 1