On Dec 29, 2010, at 12:23 PM, Tom Lane wrote:
> We had a long discussion upthread of what version numbers to keep where.
> IMHO the Makefile is about the *least* useful place to put a version
> number; the more so if you want more than one. What we seem to need is
> a version number in the .sql file itself (so that we can tell whether we
> need to take action to update the extension's catalog entries). I'm not
> convinced yet whether there needs to be another version number embedded
> in the .so file --- it may well be that the PG major version number
> embedded with PG_MODULE_MAGIC is sufficient.
For contrib maybe, but not 3rd-party extensions.
> Personally I'd forget the notion of major.minor numbers here; all that
> will accomplish is to complicate storage and comparison of the numbers.
> We just need a simple integer that gets bumped whenever the extension's
> SQL script changes.
That won't be very flexible for third-party extensions. FWIW, for PGXN I mandated symantic version numbers
(http://semver.org/),mainly because they're quite close to Pg core version numbers. I also created a basic data type
forthem:
https://github.com/theory/pgxn-manager/blob/master/sql/02-types.sql#L70
Best,
David