Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 07/09/2009 11:04:03
- bemous
- Membre
Copier une table A d'une base A dans une table B d'une base B
Salut à tous,
je souhaite copier une table A d'une base A dans une table B d'une base B! Est ce possible? Comment peut-on le faire?
Merci d'avance
Hors ligne
#2 07/09/2009 11:10:36
- gleu
- Administrateur
Re : Copier une table A d'une base A dans une table B d'une base B
pg_dump -t a a | psql b
Quoique là, ça va créer une table a dans le serveur b. Mais il est toujours possible de la renommer après coup:
ALTER TABLE a RENAME TO b;
Guillaume.
Hors ligne
#3 07/09/2009 11:18:15
- bemous
- Membre
Re : Copier une table A d'une base A dans une table B d'une base B
En faite les deux bases sont sur le même serveur, les deux bases contiennent chacune une table ayant le même nom.
certaine données sont dans la base A et en partie dans la base B. Ainsi je souhaite copier les données de la table A de la Base A dans la table A de la base B.
Alors là je comprends pas très bien ta commande.
Hors ligne
#4 07/09/2009 11:22:54
- gleu
- Administrateur
Re : Copier une table A d'une base A dans une table B d'une base B
La première commande (pg_dump -t a a) sauvegarde la table a de la base a. Le résultat en est des commandes SQL permettant de créer la table et de la recréer son contenu. La seconde commande (psql b) envoie tout le résultat de la première commande (création de la table et ajout des données) dans la base b.
Évidemment, si la table a existe déjà dans la base b, cela ne fonctionnera pas. Si tu ne veux que les données, il faut changer ça en :
pg_dump -a -t a a | psql b
L'option -a de pg_dump permet de n'avoir que les données.
Guillaume.
Hors ligne
#5 07/09/2009 11:38:20
- bemous
- Membre
Re : Copier une table A d'une base A dans une table B d'une base B
J'essai et je retourne la suite!
Hors ligne