On 09/28/2014 02:20 PM, Amos Anderson wrote:
> Hi Adrian --
>
> To confirm, I'm interested in which version(s) of libpq are compatible
> with a particular _psycopg.so. According to this page:
> http://www.postgresql.org/support/versioning/
> PostgreSQL version X.Y.Z says that changing "X.Y" is a major release,
> while changing "Z" is a minor release. So should I be safe to use a
> particular _psycopg.so with different minor releases within the same
> major release? Another option I suppose would be to bundle libpq with my
> binary distribution since (as Daniele PM'd me) I can connect to any
> PostgreSQL server.
Here is a good thread that explains it better than I could:
http://postgresql.1045698.n5.nabble.com/Details-about-libpq-cross-version-compatibility-td5723830.html
The take away is the second post:
"If your binary is just a client application that uses libpq to speak to
the server, you can use any (supported) version of libpq with any
(supported) server version. There hasn't been any incompatible protocol
changes since version 7.4, which introduced the protocol version 3, and
even that was done in a backwards-compatible fashion so that even 9.2
server still supports the old version 2 of the protocol.
Now, another question is what happens if you compile your binaries
against e.g 9.1 version of libpq, but at runtime, you have 9.2 libpq
installed. I think that should work too, but not vice versa, if you use
any new functions from the 9.2 libpq library. In general, you should
have the same or higher version of libpq at runtime that the binaries
were built with.
... "
> Thanks!
> Amos.
>
--
Adrian Klaver
adrian.klaver@aklaver.com