Bonjour,

Je dois utiliser postgresql dans un projet, et :o la commande "LOAD DATA LOCAL INFILE" ne fonctionne pas avec psql, c'est seulement pour mysql...

J'ai donc cherché à savoir si il y avait un équivalent à ceci (ci-dessous) chez postgresql pour charger un fichier formaté.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
LOAD DATA LOCAL INFILE '/local_path/file.txt' INTO TABLE name_table
FIELDS TERMINATED BY '|'
LINES STARTING BY '' TERMINATED BY '\n'
IGNORE 1 LINES
(champs1,champs2,champs3);

J'ai trouvé la commande COPY :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
COPY name_table FROM '/path/file.csv' WITH CSV;
ceci fonctionne bien lorsque le caractère délimiteur est une virgule et qu'il n'y a pas d'entête.

1ère question : je cherche à savoir si il est possible d'ignorer la première ligne du fichier à importer (qui est une entête) ? et si oui, comment?

2ème question : comment faire quand le délimiteur est un autre caractère et qu'il y a une ligne d'entête à ignorer, j'ai essayé quelque chose de la sorte mais ça ne fonctionne évidemment pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
COPY name_table  FROM '/path/exit_hgnc.txt' [[ DELIMITER [ AS ] '|' ]];
Merci d'avance de votre aide.


EDIT :

bon j'ai trouvé comment faire pour utiliser un autre délimiteur, c'était pas compliqué...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
COPY HGNC_GENE FROM '/path/file.txt' WITH DELIMITER '|';
mais je n'ai toujours pas trouvé comment ignoré la première ligne, quelqu'un saurait-il si c'est possible?