Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 07/06/2012 15:30:27
- karthus
- Membre
COPY d'un fichier compressé
Bonjour. Je fais des export/import d'une db très volumineuse donc je crée un fichier gz contenant mon fichier avec les données , je fais l'export avec le spool de sqlplus , mais comment faire l'import avec COPY FROM STDIN?
j'ai beau chercher sur le net je ne trouve pas grand chose. Merci
Hors ligne
#2 07/06/2012 15:37:32
- rjuju
- Administrateur
Re : COPY d'un fichier compressé
Bonjour,
il s'agit d'une exportation depuis oracle ?
La doc pour le copy se trouve ici : http://docs.postgresqlfr.org/9.1/sql-copy.html
La syntaxe de base est :
COPY table (champ1, champ2 ...) FROM STDIN;
suivi de toutes les lignes. Dans un fichier, il faut arrêter le flux de donnée par une ligne contenant un \.
Si vous voulez voir un exemple, le plus simple est de faire un dump en mode plain d'une table postgres et voir le fichier généré.
Dernière modification par rjuju (07/06/2012 15:39:19)
Julien.
https://rjuju.github.io/
Hors ligne
#3 07/06/2012 15:40:29
- karthus
- Membre
Re : COPY d'un fichier compressé
Je ne pense pas que la doc soit assez précise
J'ai trouvé pour l'export qu'il y a psql -c "COPY foo_table TO stdout DELIMITER ',' CSV HEADER" \
| gzip > foo_table.csv.gz
il me faudrait l'équivalent mais pour l'import
Hors ligne
#4 07/06/2012 16:53:43
- karthus
- Membre
Re : COPY d'un fichier compressé
c'est tout bête , en fait il suffisait juste de faire:
gzip -c -d /monfichier.gz | psql -d madb -c " COPY ma_table FROM stdin with delimiter ';' "
je ne sais pas pourquoi sa n'avait pas marché avant
Hors ligne
Pages : 1