Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set - Mailing list pgsql-jdbc

From Dave Crooke
Subject Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set
Date
Msg-id s2zca24673e1004151501i42d9718aqd60e0d8b2c7da04b@mail.gmail.com
Whole thread Raw
In response to Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set  (Kris Jurka <books@ejurka.com>)
Responses Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
But it's a SELECT, albeit I am doing the write transactions from another statement on the same connection ... if I use two connections, will that fix it?

Cheers
Dave

On Thu, Apr 15, 2010 at 3:22 PM, Kris Jurka <books@ejurka.com> wrote:


On Thu, 15 Apr 2010, Dave Crooke wrote:

I have a huge table I need to do a full table scan on.

2. When I use setFetchSize(), which is both a JDBC standard and the
recommendation on the page below ...

http://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor

... it bails after about 900ms / 100 fetches / a few thousand rows, with the
following PG internal error:

org.postgresql.util.PSQLException: ERROR: portal "C_14" does not exist


I'm guessing that you have committed the transaction so the portal (backing the query) gets cleaned up.  To keep a portal open across transactions you need the WITH HOLD option to DECLARE CURSOR.  There is no way to do that at the protocol level to work with the current query setup you have.  If that's what you need, you'll need to rewrite it to DECLARE CURSOR and then issue the FETCHes yourself.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set
Next
From: Kris Jurka
Date:
Subject: Re: HELP: How to tame the 8.3.x JDBC driver with a biq query result set