From: | David Tonhofer <bughunt(at)gluino(dot)name> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Documentation problem: The syntax for "\copy" is just wrong |
Date: | 2014-07-14 18:50:38 |
Message-ID: | 53C4267E.8090900@gluino.name |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
At
http://www.postgresql.org/docs/9.3/static/app-psql.html#APP-PSQL-META-COMMANDS-COPY
the syntax for the \copy command is given as follows:
\copy { table [ ( column_list ) ] | ( query ) } { from | to } {
'filename' | program 'command' | stdin | stdout | pstdin | pstdout } [ [
with ] ( option [, ...] ) ]
In particular, we read:
"The syntax of the command is similar to that of the SQL COPY command,
and option must indicate one of the options of the SQL COPY command."
Well, it turns out that NOPE, THIS AIN'T TRUE.
According to the description as given, the following should work.
\copy table_to_fill from 'foofile.csv' with format csv, header true,
delimiter ',';
In particular, options are separated by "," and options use the same
syntax as for COPY, which according to
http://www.postgresql.org/docs/9.3/static/sql-copy.html is:
FORMAT format_name
OIDS [ boolean ]
FREEZE [ boolean ]
DELIMITER 'delimiter_character'
NULL 'null_string'
HEADER [ boolean ]
QUOTE 'quote_character'
ESCAPE 'escape_character'
FORCE_QUOTE { ( column_name [, ...] ) | * }
FORCE_NOT_NULL ( column_name [, ...] )
ENCODING 'encoding_name'
Experiments however show \copy expects something else (the option's
values basically?), a not separated by commas:
\copy table_to_fill from 'foofile.csv' with csv header delimiter ',';
Regards,
-- David
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2014-07-14 19:03:28 | Re: Missing file versions for a bunch of dll/exe files in Windows builds |
Previous Message | Guillaume Lelarge | 2014-07-14 17:09:03 | Re: BUG #10949: Row security feature doesn't work. |