Postgresql : load data local infile ?

Fermé
Saoua - 10 juin 2009 à 10:24
 alpha - 2 sept. 2009 à 09:14
Bonjour,

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

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

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);

Merci d'avance de votre aide.
A voir également:

2 réponses

J'ai trouvé la commande COPY :
Code :

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 :

COPY name_table FROM '/path/exit_hgnc.txt' [[ DELIMITER [ AS ] '|' ]];

Merci d'avance de votre aide.
0
Pour utiliser un delimiterv :
USING DELIMITERS 'delimiter'

Pour ignorer la 1ère ligne :
CSV HEADER;
0