Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
J'ai un script import.sql qui importe beaucoup de fichier csv qui sont sur le même serveur que la base, cela marche très bien :
-- fichier import.sql
create table1 (id int, value text);
copy table1(id, value) from '/home/dumps/dump_table1.csv' with csv delimiter as E'\t' quote E'\b'
create table2 (id int, value text, deleted boolean);
copy table2(id, value) from '/home/dumps/dump_table2.csv' with csv delimiter as E'\t' quote E'\b'
...
Mais j'ai dû déplacer les fichiers csv qui sont sur un serveur distant d'où j'exécute le script import.sql. Malheureusement je n'arrive plus à faire l'import. J'ai essayé différentes choses avec \copy au liieu de copy mais j'ai toujours la même erreur.
-- fichier remote_import.sql
create table1 (id int, value text);
\copy table1(id, value) from './dumps/dump_table1.csv' with csv delimiter as E'\t' quote E'\b'
create table2 (id int, value text, deleted boolean);
\copy table2(id, value) from './dumps/dump_table2.csv' with csv delimiter as E'\t' quote E'\b'
...
j'ai toujours l'erreur :
\copy: parse error at end of line
Dernière modification par thomasp (03/02/2016 17:09:30)
Hors ligne
Bonjour,
les fichiers à importer doivent être accessibles par le serveur (fichiers locaux ou sur un système de fichier "monté" localement au serveur, attention à l'encoding). C'est le cas ?
Aussi je suis étonné par l'argument de quote:
...quote E'\b'...
Le caractère de quotation est backspace ? Il y a quelque chose qui m'échappe...
Éric
Hors ligne
en effet pas du tout ! je vais regarder de ce côté merci.
pour le quote, je ne sais pas, j'ai récupéré les scripts d'imports en l'état faits par mon prédécesseur mais ça a toujours bien marché, je n'y ai donc jamais touché...
Dernière modification par thomasp (04/02/2016 10:55:39)
Hors ligne
Pages : 1