PgSQL copy from csv (invalid input syntax)

Üdv!

Egy PgSQL táblába (pgsql-9.4, win7 x64) szeretnék importálni csv formában adatokat, de hibát ad.
A data.csv:

1;258;2
2;258;2
3;258;2
4;258;1
// ...stb

A pgadmin-ban:
copy data from 'd:/data.csv' with delimiter ';' csv;

A hiba:
ERROR: invalid input syntax for integer: "1"
SQL state: 22P02
Context: COPY data, line 1, column prodid: "1"

A 'data' tábla:
prodid integer NOT NULL,
pid integer NOT NULL,
qty double precision NOT NULL,

Valami olyasmit olvastam a neten, hogy a fájl elején "BOM" miatt lehet a probléma. Másoljam át egy editorral az adatokat, mentsem el egy új fájlba. De nem segített.

Van ötlete valakinek, hogy mi lehet a PgSQL gondja pontosan?

Hozzászólások

És ellenőrizted, hogy az új fájl nem BOM-os? (file, Notepad++)

Pedig itt azt írják, hogy BOM nélkül lesz a jó:
http://www.postgresql.org/message-id/CALcq1oOyHaBKojt4W_r9JiYreaUNYsM5S…

Ha megnézed egy hexaeditorral, akkor ezt fogod látni mint különbség:

http://pastebin.com/fvfk8jr4

Szóval Notepad++ lesz a Te barátod. Felső menüsorból kódolás, és alakítsd át a szövegedet valamilyen BOM nélüli kódolásra. Aztán próba.

Ha nincs BOM, akkor ennek probléma nélkül mennie kéne.

data.csv:

prodid,pid,qty
1,258,2
2,258,2
3,258,2
4,258,1

psql:

\COPY data (prodid,pid,qty) FROM 'd:/data.csv' WITH CSV HEADER;

-

\COPY demo (tbl1,tbl2) FROM 'output.txt' (DELIMITER ';');

Fejléc nem maradt bent ugye?

----------------------------
Előnevelt csirke kapható!