Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 23/11/2020 17:20:15
- ruizsebastien
- Membre
pg_create_restore_point
bonjour,
après avoir créer plusieurs points de restauration avec select pg_create_restore_point('xxx');
comment avoir la liste de tous les restore points créés ?
(PostgreSQL v11)
Dernière modification par ruizsebastien (23/11/2020 17:20:41)
Cordialement,
Sébastien.
Hors ligne
#2 24/11/2020 11:44:52
- gleu
- Administrateur
Re : pg_create_restore_point
Aucun outil n'existe réellement pour ça (à ma connaissance en tout cas). Il faut utiliser pg_waldump pour retrouver la liste des enregistrements XLOG d'un journal de transaction. J'avais écrit ce script pour ça :
pg_waldump -r XLOG $@ 2>&1 \
| grep "RESTORE_POINT" \
| sed -e 's/.*RESTORE_POINT \(.*\)/\1/'
$@ étant remplacé en bash par la liste des arguments fournis. En enregistrant ce script dans un fichier ~/bin/pg_list_restore_points.sh, ça me permet de faire :
$ ~/bin/pg_list_restore_points.sh 000000010000000400000005
toto
ttiti
Et d'avoir ainsi la liste des restore points du journal 000000010000000400000005.
Guillaume.
Hors ligne
#3 24/11/2020 11:59:42
- ruizsebastien
- Membre
Re : pg_create_restore_point
Bonjour,
Merci Guillaume pour cette info.
C'est bien ce que je craignais.
Quel dommage qu'il n'y ai pas de vue dans le catalogue pour recenser les restore points.
C'est même étonnant que personne n'ai jamais penser à l'implémenter, ce serait pourtant simple par rapport à tout le développement complexe déjà en œuvre.
Cordialement,
Sébastien.
Hors ligne
#4 24/11/2020 12:17:56
- gleu
- Administrateur
Re : pg_create_restore_point
Pas si simple. Un restore point n'a d'intérêt qu'à partir du moment où on a conservé ce WAL. Tant qu'ils restent dans pg_wal, ça va. Mais en fait, ils en dégagent vite pour être archivés. Et là, PostgreSQL n'a plus aucun moyen de savoir quel WAL est conservé et quel WAL est supprimé. Du coup, comment faire de purge sur une table système qui conserverait cette information ? De ce fait, ça me paraît très difficile. Sans compter que je ne suis pas sûr que les restore points soient très utilisés. Je ne connais pas un seul client à Dalibo qui les utilise réellement.
Guillaume.
Hors ligne
#5 24/11/2020 12:32:21
- ruizsebastien
- Membre
Re : pg_create_restore_point
ah tiens je ne savais pas qu'on ne pouvait pas utiliser un restore point si celui ci est dans un WAL archivé... ça change tout effectivement.
En fait dans mon entreprise on est très friand des restore points "fonctionnels" à la sauce Oracle. Perso je préfère la technique PITR avec une date et une heure précise. Mais bon. il faut que je creuse ce point. ce n'est pas anodin.
Merci en tout cas c'est toujours intéressant d'avoir des avis éclairés.
Cordialement,
Sébastien.
Hors ligne
#6 24/11/2020 15:09:42
- gleu
- Administrateur
Re : pg_create_restore_point
Les WAL archivés sont le principal (seul ?) intérêt des restore points. Je ne vois pas quel autre cas t'intéresserait ?
Par contre, je préfère les restore point à une date/heure. Je peux placer le restore point quand je veux et donc être bien plus précis qu'une date/heure.
Guillaume.
Hors ligne
#7 24/11/2020 15:32:17
- ruizsebastien
- Membre
Re : pg_create_restore_point
Les WAL archivés sont le principal (seul ?) intérêt des restore points. Je ne vois pas quel autre cas t'intéresserait ?
Par contre, je préfère les restore point à une date/heure. Je peux placer le restore point quand je veux et donc être bien plus précis qu'une date/heure.
bon là j'avoue que, comme je suis un peu fatigué, tu m'as perdu au passage ;-)
Pour nous l'intérêt des restore point et de bien identifier fonctionnellement une étape dans la vie de la base de données.
Par exemple "avant batch x" ou "avant traitement y".
C'est plus facile que de devoir chercher précisément une date et une heure de restauration (et moins hasardeux).
Mais si comme tu disais plus haut, que postgresql ne peut plus retrouver un restore point s'il est dans un wal archivé et plus dans le répertoire wal, alors je suis marron.
Et dans ce cas là je ne peux plus restaurer mon instance via un restore point de 24 ou 26 heures par exemple.
Ou alors je n'ai rien compris à ce que tu disais précédemment.
Cordialement,
Sébastien.
Hors ligne
#8 24/11/2020 15:32:32
- rjuju
- Administrateur
Re : pg_create_restore_point
Petite précision : vous pouvez utiliser un restore point qui se trouve dans un WAL archivé, ce n'est pas un problème (à partir du moment où celui-ci peut être restauré bien entendu).
Julien.
https://rjuju.github.io/
Hors ligne
#9 24/11/2020 15:44:26
- ruizsebastien
- Membre
Re : pg_create_restore_point
et du coup avec pgbackrest, qui sait à tout moment tout ce qu'il a dans son repository, pas de problème.
Il faut que fasse des tests.
Cordialement,
Sébastien.
Hors ligne
#10 24/11/2020 16:46:31
- gleu
- Administrateur
Re : pg_create_restore_point
Au sujet de pgbackrest, ça pourrait être une fonctionnalité de ce dernier. Il indique bien ce qui est possible de restaurer, il pourrait aussi préciser les restore points des WAL archivés.
Guillaume.
Hors ligne
#11 25/11/2020 10:42:17
- ruizsebastien
- Membre
Re : pg_create_restore_point
Au sujet de pgbackrest, ça pourrait être une fonctionnalité de ce dernier. Il indique bien ce qui est possible de restaurer, il pourrait aussi préciser les restore points des WAL archivés.
excellente idée ! y a t'il un endroit où on peut faire cette demande d'ajout de cette fonctionnalité dans une prochaine version de pgbackrest ?
Cordialement,
Sébastien.
Hors ligne
#12 25/11/2020 11:59:57
- gleu
- Administrateur
Hors ligne
Pages : 1