Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
Nous venons d'implementer l'outil debezium avec pgoutput logical decoder
Postgresql 12.9
Master / standby avec replication physique (wal stocké sur s3)
replication logique activé pour utilisation de debezium
creation d'un replication slot pour debezium
J'aimerai ne perdre aucun event lors d'un éventuel failover/switchover. (95% des cas sont des bascules programmées)
Je pars sur une méthode qui consiste à recopier à l'identique mon replication_slot sur la futur master afin de garder le meme restart_lsn et confirmed_flush_lsn
Voici mes étapes lors d'une bascale:
=> stop Master
=> Copy du fichier state de pg_replslot/* sur mon futur master
=> Restart du futur master (pour prendre en compte le replication_slot)
=> Promote
=> Ici je retrouve mon replication_slot avec les meme valeurs restart_lsn et confirmed_flush_lsn
=> Restart de DEBEZIUM avec un erreur
Voici l'erreur => Caused by: org.postgresql.util.PSQLException: ERROR: requested WAL segment 000000060000001C000000E2 has already been removed
Pouvez m'expliquer cette erreur ?
Pouvez m'indiquer si est possible d'y remédier facilement ?
PS: j'ai pu résoudre cette erreur en récupérant ce wal manquant et en le copiant dans pg_wal
Hors ligne
Bonjour,
Tout d'abord, pourquoi utiliser debezium et de la réplication logique si vous utiliez déjà une réplication physique ? Veuillez noter que je ne connais strictement rien à debezium, à part avoir entendu parler du nom plusieurs fois, à chaque fois suivi d'une quantité impressionnante de problèmes qui ont suivi.
Julien.
https://rjuju.github.io/
Hors ligne
Debezium est un outil de change data capture !
Pour l'utiliser il faut forcement utiliser de la réplication logique
Hors ligne
Pages : 1