Vous n'êtes pas identifié(e).
Bonjour a tous
j'ai activé le mode archivage sur mon instance Postgresql
archive_mode=on
sous mon serveur postgresql le but était de remplacer la stratégie du sauvegarde du pg_dump vers pg_basebackup le copiage des Fichier wall se fait vers un deuxième répertoire Windows
archive_command = 'copy "%p" "C:\\wall\\%f"'
maintenant le répertoire C:\\wall commence a s’agrandir du façon énorme
Qui a une idée comment je peut gérer la rétention de ces fichier wall ?
Faut t'il un script pour gérer çà?
merci pour vos conseil
Hors ligne
Bonjour,
Oui, il vous faut un script pour gérer ça. C'est d'ailleurs pour ça qu'on utilise habituellement un outil qui gère l'archivage, le backup et la rétention (pgbackrest par exemple, c'est le plus abouti à l'heure actuelle). Aucune idée de ce qui est disponible sous Windows par contre.
D'ailleurs, vous avez activé le mode archivage pour quoi faire ? Avez-vous fait une sauvegarde en mode fichier de la base ?
Marc.
Hors ligne
mon but serai de remplacer l'opération lente
pg_dump
par
pg_basebackup
Hors ligne
Ok, donc effectivement, c'est la voie à suivre. Et oui, il vous faudra un script de purge des journaux
Marc.
Hors ligne
Si je procède a configuré la solution
pgBackRest
Est ce que cette solution elle va s’occupé de gérer la rétention des Fichiers wall Archivées
Hors ligne
Oui, pgbackrest, barman, pitrery, au moins, gèrent la rétention. Par contre, je ne sais vraiment pas ce qui est disponible et utilisable sous windows.
Marc.
Hors ligne
L'outil que l'on utilise sous linux est barman, idéalement à installer sur un autre serveur linux pour centraliser les sauvegardes, et donc récupérer les WALs,
ce qui déchargera votre serveur windows de base de données.
Sinon pour faire la purge sans outil, faire une tâche planifiée sous windows qui supprime les fichiers vieux de plus de x jours (ici par exemple 30 jours) d'un répertoire.
A utiliser avec grande précaution après avoir fait toutes les sauvegardes nécessaires:
forfiles /p "C:\WAL_FILES" /s /m *.* /c "cmd /c Del @path" /d -30
lire la doc des commandes forfiles, et del du shell windows pour plus d'options, et la création d'une tâche planifiée.
Après, la stratégie de rétention dépend aussi de tes besoins, si tu n'as pas besoin de revenir dans le temps à un moment précis (PITR) très loin, tu n'as peut être pas besoin de garder les walls plus anciens à ton dernier basebackup.
Quel est ton besoin en terme de conservation des données anciennes? Pour un archivage longue durée et seulement dans ce cas précis, un dump peut être intéressant (en taille aussi, car on ne conserve pas les indexes et on est pas obligé de sauvegarder tout le cluster, mais uniquement les données à archiver avec une meilleure granulosité jusqu'a la table)
Philippe Siquin
DBA Gouvernement de la Polynésie Française
Hors ligne