On Mon, 2012-03-12 at 19:34 +0000, samuel.gilbert@ec.gc.ca wrote:
> The following bug has been logged on the website:
>
> Bug reference: 6527
> Logged by: Samuel Gilbert
> Email address: samuel.gilbert@ec.gc.ca
> PostgreSQL version: 9.0.4
> Operating system: Linux
> Description:
>
> There is an error in the syntax of the COPY statement in the documentation
> for versions 9.0.x and 9.1.x. I tested on 9.0.4 and 9.1.3.
>
> According to the documentation, given the table exists and is compatible
> with the CSV file, the following statement should work :
>
> COPY improve_station FROM '/local/improve.csv' FORMAT CSV HEADER TRUE;
>
No, it shouldn't work. You forgot parentheses, and commas. This should
work:
COPY improve_station FROM '/local/improve.csv' (FORMAT CSV, HEADER
TRUE);
> However, it doesn't work. Instead I get the following error :
>
> ERROR: syntax error at or near "FORMAT"
> LINE 1: ...ns FROM '/local/improve.csv' FORMAT CSV...
> ^
>
> After trying a few trials and errors, I managed to find that ommiting FORMAT
> gave me another error instead :
>
> COPY improve_stations FROM '/local/improve.csv' CSV HEADER TRUE;
> ERROR: syntax error at or near "TRUE"
> LINE 1: ...M '/local/improve.csv' CSV HEADER TRUE;
> ^
>
> Removing the boolean value (TRUE) actually works. This means that there are
> at least two errors in the syntax specification in the documentation.
> Instead of "FORMAT format_name", it should be "[ TEXT | CSV | BINARY ]" and
> "HEADER [ boolean ]" should be "[ HEADER ]".
>
No error, and no bug. The documentation says (even if it's hard to see)
that you need parentheses and commas. The examples show it too.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com