Pages: 1
- Sujet précédent - Récupérer une table dans un fichier de sauvegarde [PostGIS] - Sujet suivant
#1 Mon 19 October 2015 14:34
- lutinbleu17
- Participant occasionnel
- Date d'inscription: 30 Sep 2015
- Messages: 12
Récupérer une table dans un fichier de sauvegarde [PostGIS]
Bonjour à tous,
Suite à une mauvaise manipulation avec le script UPDATE, j'ai écrasé une table existante dans ma BDD sous PostGIS.
Je voulais initialement ajouter un nouvel enregistrement à ma table, mais tous les enregistrements existants ont été remplacé par les valeurs de ma requête :-/
Question : comment récupérer les valeurs de ma table, et annuler cette requête ?
J'ai essayé clic droit sur ma table -> Restaurer.
Cela me renvoi une erreur de type "Le process a retourné le code de sortie 1" car j'ai une colonne avec des identifiants uniques déjà existants.
Pour contourner ce problème, j'ai essayé d'effacer manuellement les enregistrements de cette table pour ensuite faire une restauration à l'aide du fichier .backup.
Malheureusement, j'ai un nouveau message d'erreur car cette table est liée par une clé étrangère à une autre table.
ERREUR: UPDATE ou DELETE sur la table "ma_table_1" viole la contrainte de clé étrangère ...
DÉTAIL: la clé est toujours référencée à partir de la table "ma_table_2"
Alors, est-il possible d'ouvrir mon fichier de sauvegarde .backup pour voir ma table telle qu'elle était avant la requête ?
Je pourrais retaper les anciennes valeurs à la main, il n'y a qu'une dizaine de lignes...
Merci et bon début de semaine !
Hors ligne
#2 Mon 19 October 2015 15:09
Re: Récupérer une table dans un fichier de sauvegarde [PostGIS]
Bonjour,
À ta place je créerai une nouvelle base de données et importerai la ou les 2 tables nécessaires.
Concernant ton problème initial, tu devrais utiliser :
COMMIT;
-- faire ta requête ici
-- vérifier le résultat
ROLLBACK; -- si erreur
ou
COMMIT; -- si tout est ok
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Mon 19 October 2015 16:14
- lutinbleu17
- Participant occasionnel
- Date d'inscription: 30 Sep 2015
- Messages: 12
Re: Récupérer une table dans un fichier de sauvegarde [PostGIS]
Bonjour Yves,
J'avais tenté de faire une nouvelle base, puis d'importer la sauvegarde.
Cela m'avait affiché une autre erreur...
Suite à ton post, j'ai tout de même ouvert cette base, et en fait la copie c'était bien faite !
Je ne sais pas par quelle miracle vu le message d'erreur, mais l'essentiel est là, j’ai accès à mon fichier de sauvegarde.
Bonne fin de journée !
Hors ligne
#4 Mon 19 October 2015 16:16
Re: Récupérer une table dans un fichier de sauvegarde [PostGIS]
Bonjour,
concernant les transactions, je pense qu'Yves voulait dire
Code:
BEGIN; -- faire ta requête ici -- vérifier le résultat ROLLBACK; -- si erreur ou COMMIT; -- si tout est ok
Dernière modification par MathieuB (Mon 19 October 2015 17:16)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#5 Mon 19 October 2015 16:32
Re: Récupérer une table dans un fichier de sauvegarde [PostGIS]
Merci Mathieu
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
Pages: 1
- Sujet précédent - Récupérer une table dans un fichier de sauvegarde [PostGIS] - Sujet suivant