Skip site navigation (1) Skip section navigation (2)

Re: Forward compatibility of drivers

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Robert Jacoby <robert(dot)jacoby(at)RACKSPACE(dot)COM>
Cc: Dave Cramer <pg(at)fastcrypt(dot)com>, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Forward compatibility of drivers
Date: 2012-06-27 06:30:23
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-jdbc
On 06/27/2012 02:50 AM, Robert Jacoby wrote:
> It's a matter of finite resources. If the old driver supported the new db
> then we wouldn't have to redeploy the applications that use it and may be
> able to get away with doing smokes tests after switching the database.
> Redeploying is not trivial and requires quite a bit of coordination. We're
> also not just talking 1 app.
> Given that it's not supported, then we would need to do much more
> substantial testing to verify the way we use the old driver would still
> work with the newer database. At that point the amount of testing likely
> dwarfs the cost of redeploying the apps with the newer jar and we might as
> well upgrade.

Yep. In particular, if your app relies on *any* JDBC metadata, either 
directly or via an ORM layer or similar, you'll want a driver version 
equal to or newer than the database version, because the pg_catalog.* 
schema changes somewhat from major version to major version to 
accomodate new features, fixes and enhancements. Old drivers won't like 
it when a field they expect to be there isn't, a type has changed, etc.

Using an old driver may even expose you to possibly faulty data 
access/writes if you use bytea fields, because older drivers don't know 
about bytea_format and the new 'hex' default. You'll also have to change 
other database settings like standard_conforming_strings .

If you *don't* use JDBC metadata and you can change some settings for 
bytea_format, standard_conforming_strings, etc on your updated databases 
you might be OK, but I wouldn't particularly recommend it.

Craig Ringer

In response to

pgsql-jdbc by date

Next:From: David DillardDate: 2012-06-27 17:23:35
Subject: Question About End of Life
Previous:From: Robert JacobyDate: 2012-06-26 18:50:19
Subject: Re: Forward compatibility of drivers

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group