Обсуждение: BUG #5964: doc bug -- copy does not take "format" literal

Поиск
Список
Период
Сортировка

BUG #5964: doc bug -- copy does not take "format" literal

От
"Chris Curvey"
Дата:
The following bug has been logged online:

Bug reference:      5964
Logged by:          Chris Curvey
Email address:      chris@chriscurvey.com
PostgreSQL version: 9.0.3
Operating system:   Linux (ubuntu 10.10 server 64-bit)
Description:        doc bug -- copy does not take "format" literal
Details:

in http://www.postgresql.org/docs/9.0/static/sql-copy.html, the
documentation implies that you specify a format using the literal "format",
followed by one of the literals "text", "csv" or "binary".

Yet the following statement fails with "syntax error near 'format'"

copy zipcode_stage from '/path/to/zip_codes.csv' format csv header delimiter
e'\t';

and the following command (without 'format' succeeds)

copy zipcode_stage from '/Users/chris/pgperf/data/zip_codes.csv' csv header
delimiter e'\t';

Re: BUG #5964: doc bug -- copy does not take "format" literal

От
Tom Lane
Дата:
"Chris Curvey" <chris@chriscurvey.com> writes:
> in http://www.postgresql.org/docs/9.0/static/sql-copy.html, the
> documentation implies that you specify a format using the literal "format",
> followed by one of the literals "text", "csv" or "binary".

Quite.

> Yet the following statement fails with "syntax error near 'format'"

> copy zipcode_stage from '/path/to/zip_codes.csv' format csv header delimiter
> e'\t';

That is the old-style syntax, which doesn't allow newer options such as
FORMAT.  Use

copy zipcode_stage from '/path/to/zip_codes.csv' (format csv, header, delimiter e'\t');

If you can make any concrete suggestions about how to make the docs
clearer about this, please do.

            regards, tom lane