Bonjour,
Je suis novice dans postgresql quelle est la requête qui permet de migrer des enregistrements d'une table vers une autre.
Merci d'avance
Bonjour,
Je suis novice dans postgresql quelle est la requête qui permet de migrer des enregistrements d'une table vers une autre.
Merci d'avance
C'est cela que tu cherches ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 INSERT INTO tb_cible ( col_cbl_1 , col_cbl_2 ... , col_cbl_N ) SELECT col_src_1 , col_src_2 ... , col_src_N FROM tb_source ;
Merci pour la réponse, une précision encore les deux sont dans deux bases de données distinctes. Est-ce la même requête ?
A ma connaissance, tu es est obligé de passer par l'intermédiaire d'un fichier avec COPY
Note :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 -- export COPY ( SELECT ... ) TO /chemin/vers/fichier ; -- import COPY nouvelle_table FROM /chemin/vers/fichier ;
- /chemin/vers/fichier est un chemin sur le serveur PostgreSQL. Si tu n'as pas accès au système de fichier du serveur, tu peux faire unet rediriger la sortie standard vers un fichier en local à l'aide de psql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part COPY ( SELECT ... ) TO STDOUT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2psql -h <host> -U <user> -d <database1> -c "COPY ( SELECT ... ) TO STDOUT" > temp.sql
ou d'utiliser un DBLINK !
genre :
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 INSERT INTO MatableLocale SELECT * FROM dblink('dbname=???', 'select col1, col2, col3 from table distante') AS T(colA, colB, colC) WHERE colA ...
Ou, si vous êtes en PostGreSQL 9.3, passer par un wrapper de données distantes.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager