Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 03/06/2013 11:19:49
- marc73450
- Membre
Annuler une requete delete
Bonjour,
Je viens de faire une mauvais manip : j'ai lancer un peu vite une requête delete qui m'a supprimé tous les enregistrements d'une table... que je ne voulais pas supprimer.
Je n'avais pas fais de sauvegarde de la base.
Y-a-t-il une possibilité pour revenir en arrière ? restaurer une version antérieure des fichiers de base ?
merci d'avance
Marc .
Hors ligne
#2 03/06/2013 15:08:14
- kenrio
- Membre
Re : Annuler une requete delete
delete lancé dans une transaction sinon direction backup
Hors ligne
#3 03/06/2013 15:15:02
- marc73450
- Membre
Re : Annuler une requete delete
Merci de ta réponse ! comment faire un backup ?
Marc .
Hors ligne
#4 03/06/2013 15:31:15
- kenrio
- Membre
Re : Annuler une requete delete
le backup fallait le faire avant le delete, donc la vous voulez juste connaitre la procédure d'un backup on est d'accord ?
Hors ligne
#5 03/06/2013 15:39:09
- marc73450
- Membre
Re : Annuler une requete delete
Oui mais j'ai déjà fais mon delete ! j'aimerais revenir en arrière, le backup ne m'est pas d'une grande utilité
merci
Marc .
Hors ligne
#6 03/06/2013 16:15:55
- rjuju
- Administrateur
Re : Annuler une requete delete
C'est plutôt mal parti Si l'autovacuum ne s'est pas encore lancé, vous pouvez le désactiver et essayer du côté de pg_dirtyread (http://www.depesz.com/2012/04/04/lets-talk-dirty/).
Julien.
https://rjuju.github.io/
Hors ligne
#7 03/06/2013 16:32:17
- marc73450
- Membre
Re : Annuler une requete delete
Je fais show autovacum ; il m'affiche ON ! ai-je une chance de récupérer mes données ?
Marc .
Hors ligne
#8 03/06/2013 16:36:43
- rjuju
- Administrateur
Re : Annuler une requete delete
Vous pouvez regarder les colonnes last_vacuum et last_autovacuum de la table pg_stat_user_tables pour votre table pour vérifier.
Julien.
https://rjuju.github.io/
Hors ligne
#9 03/06/2013 16:42:26
- marc73450
- Membre
Re : Annuler une requete delete
J'ai essayé ! et voila ce que ca me donne : http://cjoint.com/?0FdqOnCKBmM
que dois-je faire pour récupérer mes données a l'heure inscrite ?
Marc .
Hors ligne
#10 03/06/2013 16:55:39
- kenrio
- Membre
Re : Annuler une requete delete
rien c'est mort, je me trompe rjuju ?
Hors ligne
#11 03/06/2013 16:57:49
- marc73450
- Membre
Re : Annuler une requete delete
Tu es sur ?
Marc .
Hors ligne
#12 03/06/2013 20:16:44
- rjuju
- Administrateur
Re : Annuler une requete delete
Hélas oui, si le vacuum a eu lieu après le delete malencontrueux, pg_drityread ne sera pas capable de les voir : « pg_dirtyread is a simple function that allows you to see all rows of a relation including ones that have been deleted or older versions of rows that have been updated since the last vacuum ». En effet, une fois que le vacuum a eu lieu, les lignes supprimées sont réutilisables, et si aucune ligne n'a été insérée entre temps, le fichier aura simplement été tronqué à 0 octet.
Julien.
https://rjuju.github.io/
Hors ligne
#13 04/06/2013 08:19:27
- marc73450
- Membre
Re : Annuler une requete delete
Merci à vous deux ! je vais essayé de me débrouiller pour récupérer mes données .
Marc .
Hors ligne
Pages : 1