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 28/10/2013 14:06:59

dangil
Membre

Erreur d'archivage du dernier WAL après restore

Bonjour,

Nous avons effectué des test de restore "to end of log" sur une instance avec archivage des WAL.
Le restore avec l'application des WAL's archivés s'est déroulé correctement et Postgres essaie ensuite de ré archiver le dernier WAL appliqué (qui était déjà archivé) durant le restore et renvoie l'erreur suivante :

2013-10-25 14:38:42 CEST [847]: [1-1] LOG:  database system was interrupted; last known up at 2013-10-25 14:32:41 CEST
2013-10-25 14:38:42 CEST [847]: [2-1] LOG:  creating missing WAL directory "pg_xlog/archive_status"
2013-10-25 14:38:42 CEST [847]: [3-1] LOG:  restored log file "00000004.history" from archive
2013-10-25 14:38:42 CEST [847]: [4-1] LOG:  starting archive recovery
2013-10-25 14:38:42 CEST [847]: [5-1] LOG:  restored log file "000000040000000000000063" from archive
2013-10-25 14:38:42 CEST [847]: [6-1] LOG:  redo starts at 0/63000020
2013-10-25 14:38:42 CEST [847]: [7-1] LOG:  consistent recovery state reached at 0/630000E0
2013-10-25 14:38:42 CEST [841]: [2-1] LOG:  database system is ready to accept read only connections
2013-10-25 14:38:42 CEST [847]: [8-1] LOG:  restored log file "000000040000000000000064" from archive
cp: cannot stat `/opt/postgres/backups/archive_logs/000000040000000000000065': No such file or directory
2013-10-25 14:38:42 CEST [847]: [9-1] LOG:  could not open file "pg_xlog/000000040000000000000065" (log file 0, segment 101): No such file or directory
2013-10-25 14:38:42 CEST [847]: [10-1] LOG:  redo done at 0/64000F98
2013-10-25 14:38:42 CEST [847]: [11-1] LOG:  last completed transaction was at log time 2013-10-25 14:34:03.539514+02
2013-10-25 14:38:42 CEST [847]: [12-1] LOG:  restored log file "000000040000000000000064" from archive
cp: cannot stat `/opt/postgres/backups/archive_logs/00000005.history': No such file or directory
2013-10-25 14:38:42 CEST [847]: [13-1] LOG:  selected new timeline ID: 5
2013-10-25 14:38:42 CEST [847]: [14-1] LOG:  restored log file "00000004.history" from archive
2013-10-25 14:38:42 CEST [847]: [15-1] LOG:  archive recovery complete
WAL Restore terminated
2013-10-25 14:38:42 CEST [841]: [3-1] LOG:  database system is ready to accept connections
2013-10-25 14:38:42 CEST [860]: [1-1] LOG:  autovacuum launcher started
2013-10-25 14:38:42 CEST [861]: [1-1] LOG:  archive command failed with exit code 1
2013-10-25 14:38:42 CEST [861]: [2-1] DETAIL:  The failed archive command was: test ! -f /opt/postgres/backups/archive_logs/000000040000000000000064 && cp pg_xlog/000000040000000000000064 /opt/postgres/backups/archive_logs/000000040000000000000064
2013-10-25 14:38:43 CEST [861]: [3-1] LOG:  archive command failed with exit code 1
2013-10-25 14:38:43 CEST [861]: [4-1] DETAIL:  The failed archive command was: test ! -f /opt/postgres/backups/archive_logs/000000040000000000000064 && cp pg_xlog/000000040000000000000064 /opt/postgres/backups/archive_logs/000000040000000000000064
2013-10-25 14:38:44 CEST [861]: [5-1] LOG:  archive command failed with exit code 1
2013-10-25 14:38:44 CEST [861]: [6-1] DETAIL:  The failed archive command was: test ! -f /opt/postgres/backups/archive_logs/000000040000000000000064 && cp pg_xlog/000000040000000000000064 /opt/postgres/backups/archive_logs/000000040000000000000064
2013-10-25 14:38:44 CEST [861]: [7-1] WARNING:  transaction log file "000000040000000000000064" could not be archived: too many failures

Voici la comande d'archivage des WAL dans le fichier Postgresql.conf :
archive_command = 'test ! -f /opt/postgres/backups/archive_logs/%f && cp %p /opt/postgres/backups/archive_logs/%f'

et le "restore_command" dans le fichier recovery.conf  :
restore_command = 'cp /opt/postgres/backups/archive_logs/%f "%p"'

Le seul moyen trouvé est de supprimer le fichier précédement archivé avec un rm mais ce n'est certainement pas la bonne méthode.

Merci pour votre aide et salutations
Daniel

Hors ligne

#2 29/10/2013 12:31:19

gleu
Administrateur

Re : Erreur d'archivage du dernier WAL après restore

Le mieux est d'archiver dans un autre répertoire. Comme ça, vous ne risquez aucun déboire.

Par contre, j'avoue que je ne comprends pas pourquoi il essaie d'archiver un journal de la timeline précédente. Il va falloir que je teste ça.


Guillaume.

Hors ligne

Pied de page des forums