SQL Commands COPY

2021-06-09 Thread PG Doc comments form
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/13/sql-copy.html
Description:

The synopsis and parameters for the COPY command show the FORCE_QUOTE option
with an underscore and requires column names to be enclosed with round
brackets, but the example in the compatibility section shows the option name
as FORCE QUOTE (no underscore) and has no requirement to enclose the column
names with round brackets.

When using psql (version 13.3) against a version 13 cluster, the method
shown in the compatibility section works whereas the methods shown in the
synopsis and parameters sections do not work and will throw a syntax
error.

My usage is
COPY (query)
TO STDOUT
CSV HEADER
DELIMITER E'\t'
NULL ''
QUOTE '"'
FORCE QUOTE column_name [, ...]


Re: SQL Commands COPY

2021-06-09 Thread Laurenz Albe
On Wed, 2021-06-09 at 19:54 +, PG Doc comments form wrote:
> Page: https://www.postgresql.org/docs/13/sql-copy.html
> Description:
> 
> The synopsis and parameters for the COPY command show the FORCE_QUOTE option
> with an underscore and requires column names to be enclosed with round
> brackets, but the example in the compatibility section shows the option name
> as FORCE QUOTE (no underscore) and has no requirement to enclose the column
> names with round brackets.
> 
> When using psql (version 13.3) against a version 13 cluster, the method
> shown in the compatibility section works whereas the methods shown in the
> synopsis and parameters sections do not work and will throw a syntax
> error.

You must be misreading something, the new syntax works:

COPY (SELECT 42 AS x) TO STDOUT (FORMAT 'csv', FORCE_QUOTE (x));

Yours,
Laurenz Albe





Re: SQL Commands COPY

2021-06-09 Thread Tom Lane
Laurenz Albe  writes:
> On Wed, 2021-06-09 at 19:54 +, PG Doc comments form wrote:
>> When using psql (version 13.3) against a version 13 cluster, the method
>> shown in the compatibility section works whereas the methods shown in the
>> synopsis and parameters sections do not work and will throw a syntax
>> error.

> You must be misreading something, the new syntax works:
> COPY (SELECT 42 AS x) TO STDOUT (FORMAT 'csv', FORCE_QUOTE (x));

The most probable explanation seems to be that the OP is actually
connecting to an 8.4 (or older) PG server.

regards, tom lane