Re: setting large bytea values - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: setting large bytea values
Date
Msg-id 4317925D.1090105@opencloud.com
Whole thread Raw
In response to ...  (gurkan@resolution.com)
List pgsql-jdbc
(I added a useful subject line..)

gurkan@resolution.com wrote:

> I have been working on conversion program from Informix to PostgreSQL db, and I
> have a one table which has large data(bytea).
>
> I need to be able to copy this one row (docdata column) that I have which is
> close to 32MB. Program seems to read the data but cannot copy to postgres
> (PreparedStatement), it gives OutOfMemoryError. I ran the program with these
> heap too.
> java -Xms200m -Xmx700m AddDoc

What driver and server versions are you using? 8.0 drivers against a 7.4
or later server should handle this fine with no extra intermediate
copies of the stream.

> inp = new ByteArrayInputStream(wbout.toByteArray());
[...]
>     postgresStmt.setBinaryStream (2, inp, inp.available());

You could also use setBytes() directly here, but either way should work.

-O

pgsql-jdbc by date:

Previous
From: gurkan@resolution.com
Date:
Subject: ...
Next
From: Joseph Shraibman
Date:
Subject: Getting vacuum results