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
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 |