Thread: Driver compatibility with 7.3 server

Driver compatibility with 7.3 server

From
Mike Charnoky
Date:
Hi everyone, happy holidays!  We are are currently using Postgresql 7.3
and would like to be able to use cursors for large selects (ie: using
Statement.setFetchSize()).  Unfortunately, this is not implemented in
the 7.3 JDBC driver.  Is it possible to use a newer version of the JDBC
driver, say 7.4, with the 7.3 version of the db server?  Thanks.


Mike

Re: Driver compatibility with 7.3 server

From
Mike Charnoky
Date:
Duh, I just now found some documentation on this issue here:

http://jdbc.postgresql.org/download.html#serverselection

Looks like the newer drivers *should* be compatible, so I'll give it a
shot.  Please let me know if this could be problematic.


Mike

Mike Charnoky wrote:
> Hi everyone, happy holidays!  We are are currently using Postgresql 7.3
> and would like to be able to use cursors for large selects (ie: using
> Statement.setFetchSize()).  Unfortunately, this is not implemented in
> the 7.3 JDBC driver.  Is it possible to use a newer version of the JDBC
> driver, say 7.4, with the 7.3 version of the db server?  Thanks.
>
>
> Mike
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly

Re: Driver compatibility with 7.3 server

From
Oliver Jowett
Date:
Mike Charnoky wrote:
> Hi everyone, happy holidays!  We are are currently using Postgresql 7.3
> and would like to be able to use cursors for large selects (ie: using
> Statement.setFetchSize()).  Unfortunately, this is not implemented in
> the 7.3 JDBC driver.  Is it possible to use a newer version of the JDBC
> driver, say 7.4, with the 7.3 version of the db server?  Thanks.

Later driver versions should work fine with a 7.3 server .. but ..

The setFetchSize() / cursor support in recent drivers (8.0 or later)
only turns on if the v3 wire protocol is being used. 7.3 servers don't
support v3, so it's not going to help your particular case.

For a while, the driver would rewrite queries to use DECLARE rather than
using the v3 protocol facilities, which also works under v2 (but is
somewhat more fragile). IIRC, this was done in the 7.4 series. So you
could try an older, 7.4-era, driver and it might do the trick.

-O

Re: Driver compatibility with 7.3 server

From
Mike Charnoky
Date:
Thank you for the feedback.  I was finally able to get this working
successfully using the 7.4 JDBC driver with the 7.3 server.  The tricky
part I found out was that you have to set autocommit off
(Connection.setAutoCommit(false)).  Once I did so, my memory usage went
down drastically!


Mike

Oliver Jowett wrote:
> Mike Charnoky wrote:
>
>> Hi everyone, happy holidays!  We are are currently using Postgresql 7.3
>> and would like to be able to use cursors for large selects (ie: using
>> Statement.setFetchSize()).  Unfortunately, this is not implemented in
>> the 7.3 JDBC driver.  Is it possible to use a newer version of the JDBC
>> driver, say 7.4, with the 7.3 version of the db server?  Thanks.
>
>
> Later driver versions should work fine with a 7.3 server .. but ..
>
> The setFetchSize() / cursor support in recent drivers (8.0 or later)
> only turns on if the v3 wire protocol is being used. 7.3 servers don't
> support v3, so it's not going to help your particular case.
>
> For a while, the driver would rewrite queries to use DECLARE rather than
> using the v3 protocol facilities, which also works under v2 (but is
> somewhat more fragile). IIRC, this was done in the 7.4 series. So you
> could try an older, 7.4-era, driver and it might do the trick.
>
> -O