PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#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

Pied de page des forums