Restauration PostgreSQL PITR

9

J'ai un serveur PostgreSQL 9.1 fonctionnant sur un OS CentOS 5.8 32 bits et j'ai activé l'archivage WAL. Sur ce serveur, il existe trois bases de données: databaseA, databaseB et databaseC. Quelqu'un supprime une table à 12 h sur la base de donnéesB et je souhaite restaurer la base de donnéesB juste avant l'heure à laquelle la table a été supprimée. Il est maintenant 15 heures.

Comment puis-je simplement restaurer databaseB jusqu'à 12 heures sans perdre trois heures de données dans les deux autres bases de données?

postgresql.conf

wal_level = archive             
archive_mode = on               
archive_command = 'test ! -f /opt/pgsql/logs/%f && cp %p /opt/pgsql/logs/%f'
max_wal_senders = 100

recovery.conf

restore_command = 'cp /opt/pgsql/logs/%f %p'
recovery_target_time = '2012-06-29 11:59:59 CEST'

J'ai exécuté ma sauvegarde de base à 9 h.

pg_basebackup -h 127.0.0.1 -D /opt/pgsql/backup

Le service PostgreSQL a été arrêté à 15 heures.

Craig Efrein
la source

Réponses:

6

Je ferais une récupération ponctuelle vers un autre emplacement, en restaurant à l'heure souhaitée et en pg_dump la base de données de problèmes. Je laisserais tomber la seule base de données à l'emplacement normal, la recréerais et chargerais la sortie pg_dump.

Assurez-vous de créer et d'enregistrer une copie au niveau du système de fichiers de l'arborescence du répertoire de données du cluster avant de commencer quelque chose comme ça.

kgrittn
la source
Merci, +1 pour la réponse. Pourriez-vous s'il vous plaît ajouter les étapes nécessaires pour récupérer vers un autre emplacement, puis la restauration à l'aide de pg_restore? Avec votre réponse, je pense à utiliser l'emplacement de sauvegarde de base réel pour faire le PITR.
Craig Efrein
0

Pour développer la réponse de kgrittn, vous pouvez également faire une pg_dumpseule de la table qui a été supprimée et la reconstruire dans la base de données existanteB, vous n'avez donc pas besoin de perdre 6 heures de données dans les autres tables.

Aryeh Leib Taurog
la source
merci pour votre réponse, mais toutes les différentes contraintes et relations entre les tables m'empêcheraient d'en restaurer une seule.
Craig Efrein