Thread: COPY BINARY to stdout

COPY BINARY to stdout

From
keke abe
Date:
Hello,

After receiving the 'H' (COPY_OUT) message from the backend,
how should I tell if the incoming data is in binary format or
not?

TIA,
Takehiko Abe
--
"Left channel, right channel, center channel."


Re: COPY BINARY to stdout

From
Tom Lane
Date:
keke abe <keke@mac.com> writes:
> After receiving the 'H' (COPY_OUT) message from the backend,
> how should I tell if the incoming data is in binary format or
> not?

You don't; you just have to know whether you asked for binary or text
copy.  At the moment binary copy to/from the frontend is disabled
anyway:   /*    * This restriction is unfortunate, but necessary until the frontend    * COPY protocol is redesigned to
bebinary-safe...    */   if (pipe && binary)       elog(ERROR, "COPY BINARY is not supported to stdout or from
stdin");

There's a TODO list item to invent a less brain-dead format for binary
COPY data.  (The binary cursor representation is not too bad, maybe just
use that.)

In the meantime I suggest forget about COPY BINARY and use DECLARE
BINARY CURSOR instead.
        regards, tom lane