Thread: Binary mode copy in from stdin

Binary mode copy in from stdin

From
"Dann Corbit"
Date:
<div class="Section1"><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">We have (among other things) and ODBC/OLEDB/JDBC/.NET driver for PostgreSQL and we want to optimize
fastmode insert/select behavior.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">When we try to do a binary mode copy from standard input, we get an error message that we can’t do
it.</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">How can we programmatically insert data using COPY from our own data stream without creating a
file.</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">In our case, creating a file is just plain stupid.  There is never any reason for the data to hit
thedisk except at write time.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">In case you were wondering, we already have the data in the correct binary format.</span></font><p
class="MsoNormal"><fontface="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Why was it decided that binary mode is not allowed for stdin or stdout?  After all, programs can
pipeto stdin and stdout.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font></div>

Re: Binary mode copy in from stdin

From
Tom Lane
Date:
"Dann Corbit" <DCorbit@connx.com> writes:
> Why was it decided that binary mode is not allowed for stdin or stdout?

Works fine when using V3 frontend protocol.  The old protocol for it
isn't 8-bit-clean.
        regards, tom lane