Postgresql : load data local infile ?

Saoua -  
 alpha -
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.
Configuration: Linux
Firefox 3.0.10

2 réponses

  1. Saoua
     
    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
  2. alpha
     
    Pour utiliser un delimiterv :
    USING DELIMITERS 'delimiter'

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