Gregory Stark <stark@enterprisedb.com> writes:
> If you do bump then it means you can keep both copies of the library
> installed.
I looked back into the archives and found that both of our recent libpq
major version bumps were due to unintentional ABI breaks, in the form of
removing not-officially-exported functions that were actually being
depended on by our other client-side code:
http://archives.postgresql.org/pgsql-hackers/2005-02/msg00059.php
http://archives.postgresql.org/pgsql-patches/2006-04/msg00240.php
After the second one of those we finally put in exports.txt filtering,
and I think we can be reasonably confident that it won't happen again
*on platforms where the export filtering works*. If we're willing to
assume that those are the only platforms where concurrent installation
of different versions is well-supported, then we can probably get away
without a major version bump now.
The case that most people care about is being able to update libpq
without recompiling dependent applications, and just adding new export
symbols shouldn't be an issue for that. Although I was worried about
packagers being unhappy about two releases with the same soname, I
cannot find any evidence in the archives that we have ever bumped
the major number without an ABI-break reason. (The previous two bumps
were for intentional API changes, btw.)
So personally I withdraw my concern about this --- the existing "5.1"
numbering should be OK. It's a sore spot because we have blown it three
times running on not bumping the major number when there was a need to,
but now we have some defense against being blindsided the way we were
the last two times; and the time before was just plain failure to
consider whether we needed to bump the major version:
http://archives.postgresql.org/pgsql-hackers/2002-12/msg00213.php
regards, tom lane