Postgresql : load data local infile ?

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

  • Votes
  • Date
  • Date décroissante
  1. Pour utiliser un delimiterv :
    USING DELIMITERS 'delimiter'

    Pour ignorer la 1ère ligne :
    CSV HEADER;
    1. 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.