Re: ecpg command does not warn COPY ... FROM STDIN;

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Ryo Kanbayashi <kanbayashi.dev@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-01-08T16:31:10Z
Lists: pgsql-hackers
Fujii Masao <masao.fujii@oss.nttdata.com> writes:
> On 2025/01/09 0:42, Tom Lane wrote:
>> There's another problem: the correct syntax is COPY TO STDOUT,
>> and that won't trigger this warning either.

> ISTM that ecpg supports COPY TO STDOUT and includes the regression test "copystdout" for it. No?

Oh right.  (Pokes at it...)  It looks like the backend accepts
"FROM STDOUT" as a synonym for "FROM STDIN", so that's why this
is checking for both spellings.  But I agree it'd be better
for the error message to only use the standard spelling.

Also I tried

regression=# copy int4_tbl from program stdin;
ERROR:  STDIN/STDOUT not allowed with PROGRAM

So we probably don't need to bother with adjusting the check
to allow that.

			regards, tom lane



Commits

  1. ecpg: Restore detection of unsupported COPY FROM STDIN.

  2. plpgsql: pure parser and reentrant scanner

  3. Add support for piping COPY to/from an external program.