Thread: copy binary from stdin; Why is it broken?

copy binary from stdin; Why is it broken?

From
Adriaan Joubert
Date:
Hi,
   For speed I had a programme (actually a CORBA server) that would
receive a lot of records, copy them into a binary record and copied them
into the database. As this is a CORBA server on the same machine as the
database, there are no endedness problems or anything like that. This
worked just great until the latest update: now I get 'COPY BINARY is not
supported to stdout or from stdin'. In the context of psql there may be
good reasons for this, but from a programme it works well, so why
disallow it? Now I've got to go and convert everything to a load of
printf's, which are then converted back into binary -- seems kind-of
silly. And I'm not comfortable with these types of conversions for
floats at all.

On a separate note: what would be really great for loading large amounts
of data into a database  is if one could have a serial field that
updated anyway. Some databases give you the next serial value if you try
to insert null -- which seems reasonable in the context of a SERIAL,
which is NOT NULL. I can see that this may cause problems in the case of
fields that do a default nextval('sequence'), and which consequently can
be null, but the benefits would be large.

Often simulations or sensors (we have both) generate large streams of
binary data and a way of loading this data into the database rapidly is
very, very useful.

Adriaan



PostgreSQL + Solaris + Mico + Purify = ????

From
Fabrizio Sciarra
Date:
Hi everybody... <br />I need a clue...Maybe someone of you has something to suggest :) <br />I'm developing a server
withmico and postgresql in c++... The access to postgresql <br />is done using libpq, not via corba...The compiler I
useis gcc-2.95-2 <br />The operating systems are Linux and Solaris 2.7. <br />On Solaris I'm trying to use Purify 5.1
butit founds a memory segment error <br />during mico initialization and my program dumps core. Then I've get out mico
andeven Xerces (an XML parser) out of the server but then purify complains about an error in a an fstream function,
like:<br />      IPR: Invalid pointer read <br />      This is occurring while in: <br />           
ifstream::~ifstream()[fstream.cc:110] <br />               { <br />                   return "w"; <br />              
}<br />            => #endif <br />            Configuration::loadConfig(const char*) [Configuration.o] <br
/>           DSControl_impl::start() [ds_sds_nocorba_impl.o] <br />            main           [ds_sds_nocorba_main.o]
<br/>            _start         [crt1.o] <br />      Reading 4 bytes from 0xff1927a4 between the heap and the stack.
<p>I'vebeen forced to use libpq from version 6.5.3 because if I link the 7.0.2 <br />version in then I get an error
froma function inside PostgreSQL setdb <br />The error is always the same: the program is accessing an area between the
<br/>heap and the stack......but just migrates around corba, ifstream, postgres..... <br />Well... Before I go
squashingmy head on the wall again, dou you have an idea on <br />how to get more info on this ?????????? <br />I know
thisis a bit OT here, because I don't think postgres is really involved in this, <br />simply I don't know what to do
withthis... Could it be simply a purify problem ???? <br />The system seems to work fine without it....(seems......)
<p>Thanksfor your patience.... <br />  Fabrizio <pre>-- 
 
Fabrizio Sciarra                      ! Tel +39 050 545 111
Intecs sistemi spa                    ! Fax +39 050 545 200
via Gereschi 32-34, 56100 Pisa ITALY. ! fabrizio@pisa.intecs.it
-- My opinions are mine, not necessarly of my employers --
 * Linux. The choice of a GNU generation
 * Java Lobby Member * Ada community member.</pre>