psql copy help - Mailing list pgsql-hackers

From Steve Crawford
Subject psql copy help
Date
Msg-id 200310281314.02610.scrawford@pinpointresearch.com
Whole thread Raw
Responses Re: psql copy help
List pgsql-hackers
The psql help for copy (version=7.3.2 and several others) appears 
incorrect (or perhaps the command parser is at fault - in any case 
the help doesn't match reality):

steve=# \h copy
Command:     COPY
Description: copy data between files and tables
Syntax:
COPY table [ ( column [, ...] ) ]   FROM { 'filename' | stdin }   [ [ WITH ]         [ BINARY ]         [ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]         [ NULL [ AS ] 'null string' ] ]
 
...

I interpret this as meaning that you can optionally specify a 
delimiter, null etc. and if you do then you can optionally include 
the "with" and the "as" for readability. While I can omit the "as" I 
cannot omit the "with":

Works with both:
steve=# \copy foo from 'footest' with delimiter as ','
\.

Works with "with" only:
steve=# \copy foo from 'footest' with delimiter ','
\.

Does not work without "with"
steve=# \copy foo from 'footest' delimiter ','
\copy: parse error at 'delimiter'
steve=# \copy foo from 'footest' delimiter as ','
\copy: parse error at 'delimiter'

As such it seems that the help should be:
COPY table [ ( column [, ...] ) ]   FROM { 'filename' | stdin }   [ WITH          [ BINARY ]         [ OIDS ]         [
DELIMITER[ AS ] 'delimiter' ]         [ NULL [ AS ] 'null string' ] ]
 
...

Cheers,
Steve



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Dump error
Next
From: Tom Lane
Date:
Subject: Re: psql copy help