|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : septembre 2003 Messages : 302 ![]() |
bonjour,
je veux restaurer qu'une seule table de mon archive via pg_restore et j'ai lu dans le man de pg_restore qu'il fallait faire un fichier contenant les informations des éléments que je voulais restaurer. Et cette information est l'ID de ma/mes tables dans mon archive. Question bête : comment je fais pour récupérer cet ID ? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
Salut
Tu peut retrouver l'ID des objets que tu veux en sortant la liste de l'archive grâce à la commande: $ pg_restore -l archive.fichier > archive.liste Cette liste est en gros la table des matières de l'exécution de pg_restore. Tu peut le modifier et mettre des lignes en commentaires si tu le souhaites. Pour plus de détails, regardes dans la doc à la fonction pg_restore. Ils donnent des exemples d'utilisation dont cette petite commande qui m'a été très utile. Bonne chance champijulie |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : septembre 2003 Messages : 302 ![]() |
Merci par contre à ce que je comprends (dis moi si je me trompe) je ne peux pas restaurer les données d'une table si elles sont déjà dans la table. C'est bien ça ou je me déchire ?
|
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
Bin..
en fait, si j'ai bien compris ce que tu me dis, tu cherches à restaurer des données dans une table qui contient déjà ces données-là. Je vais essayer de répondre d'après ce que j'ai compris mais je ne suis pas sure: en fait, avec le pg_restore quand tu restaures la table uniquement, c'est-à-dire, par exemple (sur la liste obtenue avec l'archive): Code :
2890; 1259 21094 TABLE ddc_appia LISTETYPEEVNMT postgres Code :
5133; 0 21094 TABLE DATA ddc_appia LISTETYPEEVNMT postgres J'espère avoir répondu à ta question champijulie. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : septembre 2003 Messages : 302 ![]() |
en fait tu as bien compris
J'ai bien compris la différence entre la restauration des données (enregistrements) et/ou de la structure mais je pensais qu'en restaurant les données alors que ma table n'est pas vidée cela écraserait les anciennes données mais en fait on dirait qu'il y a une violation de clé Tu pourrais me dire que je pourrai vider ma table (entreprise) mais en fait j'ai une contrainte ONE DELETE RESTRICT avec une autre table (contact) et donc tant que je n'ai pas vidé cette autre table (contact) je ne peux pas vider ma première table (entreprise) J'espère que je suis assez clair |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
J'ai compris ce que tu veux dire.
Ce que je fais dans ce cas là, c'est que j'enlève les contraintes qui me gène pendant l'import des données et je les remet après. Je sais que c'est un peu à la barbare mais c'est le seul moyen que j'ai trouvé pour être tranquille avec les contraintes pendant l'import. Sinon, tu vides tout et tu restaures le tout avec les données d'abord et les contraintes ensuite. Ca marche aussi. De toute façon, si tu réalise un import à partir d'un pg_restore, ces contraintes sont déjà vérifiées. Essaie voir. @ + champijulie |
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : septembre 2003 Messages : 302 ![]() |
ouais ça marche nikel !!! Bon c'est peut être un peu bourrin mais le principal c'est que ça marche
Merci en tout cas car le jour où ma base plantera je serai content de cette petite aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com