PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 29/03/2021 11:14:50

ade93
Membre

Comprendre le fonctionnement Pitrery

Bonjour,

J'aimerai savoir et comprendre comment fonctionne Pitrery.

Voici mon fichier conf de Pitrery :

PGPSQL="psql"
PGUSER="postgres"
PGPORT=5432
PGHOST="/tmp"
PGDATABASE="test"
PGDATA="/applis/test/ipdata/pgsql/data"
PGWAL="/applis/test/ipdata/pgsql/data/pg_wal" #####Il faut le laisser vide ???
BACKUP_DIR="/applis/test/ipbackup/pitr"
ARCHIVE_DIR="/applis/test/ipdata/pgsql/archivedir"
STORAGE="rsync"
PURGE_KEEP_COUNT=
PURGE_OLDER_THAN=90
LOG_TIMESTAMP="yes"
SYSLOG="no"
SYSLOG_FACILITY="local0"
SYSLOG_IDENT="postgres"


Dans le fichier PostgreSQL :

archive_mode = on           
archive_command = 'cp "%p" "/applis/test/ipdata/pgsql/archivedir/%f"'
wal_level = replica


Je ne sais pas si j'ai bien paramétré Pitrery.

J'aimerais que Pitrery sauvegarde les archives WAL présent dans /applis/test/ipdata/pgsql/data/pg_wal et les mettent dans mon backup PGDATA et les gardes 90 jours ainsi que les backups.

De plus, lors de la restauration, j'aimerais que le pg_wal/ qui est dans la racine de PGDATA ne pointe pas vers ARCHIVE_DIR... (un lien symbolique)


Lors d'une purge, pourquoi PostgreSQL purge les WAL et ne les gardes pas 90 jours comme pour les backups du PGDATA ???
Y'a t'il un mécanisme qui permet de faire une sauvegarde à chaud full + toutes les 30 minutes les archives WAL ????

Ce que je ne comprends pas, lorsque je fais un backup, les wal sont zipper dans le répertoire ARCHIVE_DIR mais je ne les vois pas dans le backup. Donc comment ce passe une restauration PITR si lorsque je fais une purge, il supprime les WAL archivés ???

Pour finir, Pour une réplication, dois-on installer Pitrery sur les deux serveurs ?

Merci à vous de m'éclairer mes petites lanternes...

Dernière modification par ade93 (31/03/2021 19:31:18)

Hors ligne

#2 29/03/2021 14:55:21

gleu
Administrateur

Re : Comprendre le fonctionnement Pitrery

Je ne sais pas si j'ai bien paramétré Pitrery.
J'aimerais que Pitrery sauvegarde les archives WAL présent dans /applis/test/ipdata/pgsql/data/pg_wal et les mettent dans mon backup PGDATA et les gardes 90 jours ainsi que les backups.
De plus, lors de la restauration, j'aimerais que le pg_wal/ qui est dans la racine de PGDATA ne pointe pas vers ARCHIVE_DIR... (un lien symbolique)

Pour ça, il faudrait déjà que la commande d'archivage ne soit pas un cp mais un appel à la commande archive_wal fournie par pitrery.

Lors d'une purge, pourquoi PostgreSQL purge les WAL et ne les gardes pas 90 jours comme pour les backups du PGDATA ???

PostgreSQL ne purge rien dans le répertoire d'archivage. pitrery oui, si on lui demande.

De plus, lors de la restauration, j'aimerais que le pg_wal/ qui est dans la racine de PGDATA ne pointe pas vers ARCHIVE_DIR... (un lien symbolique)

A priori, pitrery procède par lien symbolique et je n'ai pas l'impression qu'il soit possible de changer ce comportement.

Y'a t'il un mécanisme qui permet de faire une sauvegarde à chaud full + toutes les 30 minutes les archives WAL ????

Pour la sauvegarde full, il vous suffit d'exécuter pitrery. Un WAL n'est archivé qu'au moment où PostgreSQL l'a décidé (quand il est rempli ou quand archive_timeout est passé).

Ce que je ne comprends pas, lorsque je fais un backup, les wal sont zipper dans le répertoire ARCHIVE_DIR mais je ne les vois pas dans le backup. Donc comment ce passe une restauration PITR si lorsque je fais une purge, il supprime les WAL archivés ???

Une purge ne supprime que les journaux archivés devenus inutiles. La commande "pitrery check" vous indiquera combien de jours et combien de sauvegarde sont conservés. Je trouve néanmoins étonnant que PURGE_KEEP_COUNT ne soit pas configuré. Je ne sais pas comment réagit pitrery fasse à ça.

Pour finir, Pour une réplication, dois-on installer Pitrery sur les deux serveurs ?

Il est à installer sur tous les serveurs où vous voulez l'exécuter.


Guillaume.

Hors ligne

#3 29/03/2021 16:08:07

ade93
Membre

Re : Comprendre le fonctionnement Pitrery

Merci Guillaume pour ces réponses. Je comprends mieux le fonctionnement de Pitrery.

Je pense que c'est la dernière question :
J'ai plusieurs instances sur mon serveur, est-il possible d'utiliser/configurer Pitrery dans ce cas ? Si oui quelle est la bonne manière de procéder ?

Je pense à ça mais j'ai des incertitudes :

Devons nous créer plusieurs fichiers /usr/local/bin/archive_wal ??? (en changeant leur nom bien entendu) et les faire pointer comme suit :
lrwxrwxrwx. 1 root root      11 Mar 19 10:25 archive_xlog -> archive_wal (archive_log pointe vers archive_wal)
lrwxrwxrwx. 1 root root      11 Mar 19 10:25 restore_xlog -> restore_wal  (restore_xlog pointe vers restore_wal)

Je sais aussi que les fichiers pitrery.conf aussi à dupliquer et modifier en fonction de l'instance...

Cela suffit-il ?

Hors ligne

#4 30/03/2021 09:06:55

gleu
Administrateur

Re : Comprendre le fonctionnement Pitrery

Je ne vois pas pourquoi vous voulez dupliquer le script archive_wal. La documentation de pitrery indique que vous pouvez lui fournir un autre fichier de configuration avec l'option -C. Il vous suffit simplement d'un fichier de configuration de pitrery par instance à sauvegarder.


Guillaume.

Hors ligne

#5 31/03/2021 19:30:52

ade93
Membre

Re : Comprendre le fonctionnement Pitrery

Merci Guillaume du temps et des réponses.

Hors ligne

Pied de page des forums