Re: Driver memory usage on select and autocommit

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Silvio Bierman <sbierman(at)jambo-software(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Driver memory usage on select and autocommit
Date: 2008-10-29 11:33:05
Message-ID: 490849F1.2050904@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Silvio Bierman wrote:
> Can anyone explain why the PostgreSQL JDBC driver caches the result of a
> select statement in memory even though I have set a fetch size. Only
> setting autocommit to off will prevent this but that seems very
> counterintuitive.
>
> Any explanations?

http://jdbc.postgresql.org/documentation/83/query.html#fetchsize-example

Incremental retrieval of results relies on using a v3 protocol portal
(similar to a cursor). These portals are implicitly closed at the end of
a transaction; that includes the end of the implicit transaction created
for each statement when autocommit is on. So you have to have a
long-lived transaction for incremental retrieval to be useful, i.e.
autocommit must be off.

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2008-10-29 17:54:23 Re: Re: Connection hanging on INSERT apparently due to large batch size and 4 CPU cores
Previous Message Silvio Bierman 2008-10-29 09:16:49 Driver memory usage on select and autocommit