Re: [pgsql-fr-generale] Défaire transactions.

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: alain(dot)benard(at)nancy(dot)inra(dot)fr
Cc: PG-Mail-liste <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: [pgsql-fr-generale] Défaire transactions.
Date: 2014-02-26 13:36:08
Message-ID: CAB7nPqRLhwySDqyrX+GLd61Kf-jE9-Njkob7hjaQ_sd2Tqf+Mg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

2014-02-26 21:39 GMT+09:00 Alain Benard <alain(dot)benard(at)nancy(dot)inra(dot)fr>:
> pour faire simple je viens de faire une bêtise (mais pas trop grave) et je
> me demande s'il est possible de revenir en arrière en utilisant les fichiers
> pg_xlog/* sans avoir de pgdump.
> Concrètement j'ai un serveur virtuel de préproduction sur lequel je joue des
> scripts de création de base pour effectuer des tests (intégration de donnée
> notamment) et il m'arrive souvent de supprimer ces bases et rejouer les
> scripts; je n'ai évidemment pas besoin de sauvegarde donc il n'y en a pas.
> Hier j'ai donc déployé une base, j'y ai écrit une petite procédure stockée
> et ce matin j'ai supprimé cette base puis rejoué le script de déploiement de
> cette même base. Houps, j'ai oublié de sauvegarder la procédure stockée
> avant de supprimer la base.
> Y-a-t-il quelque chose à tenter à partir des Wal (une commande pour dire
> regarde les wal et remets tout comme c'était à 10H30 ce matin). Au pire je
> réécris cette procédure stockée donc ce n'est pas vital mais plus à titre de
> culture Postgresql que je pose la question.
Revenir en arrière n'est pas directement possible. Il faut au moins un
base backup avec tous les WAL nécessaires (en utilisant une archive
par exemple). Le backup peut ensuite rejouer en mode recovery les WAL
pour revenir à un point donné dans le passé avec un PITR, avec dans
votre cas recovery_target_time à plus ou moins 10:30 dans
recovery.conf.
Notez également que si votre serveur a lancé un checkpoint il essaiera
de recycler ou d'effacer les WAL dans pg_xlog non nécessaires
(interval de temps entre deux checkpoints décidé avec soit
checkpoint_timeout ou checkpoint_segments), donc vous pourriez manquer
de WAL aussi sans archive...

Cordialement,
--
Michael

--
Envoi via la liste pgsql-fr-generale (pgsql-fr-generale(at)postgresql(dot)org)

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message pierre crumeyrolle 2014-02-27 08:54:32 [ecpg et bytea]
Previous Message Alain Benard 2014-02-26 12:39:41 Défaire transactions.