[postgis-devel] PSC Vote: Change PostGIS library name to drop the minor

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Tue Sep 5 10:58:10 PDT 2017


On 04/09/17 23:08, Regina Obe wrote:

> Creating a symlink from postgis-2.4  (compiled for PostgreSQL 10)  and calling the link postgis-2.3
> is a lot less evil I think.  
> 
> In fact your PostGIS will still work after upgrade even if you don't rush to do 
> 
> ALTER EXTENSION postgis UPDATE;
> 
> Because we did not remove any functions exposed via the SQL scripts.  We only added functions.
> 
> You can even do this for postgis-2.2 and you'll be fine.
> 
> But as Darafei pointed out in the last comment
> 
> 
> https://gist.github.com/Komzpa/994d5aaf340067ccec0e
> 
> Many people just don't get that.  It's a hard thing for people to fathom.
> 
> That you can take   postigs-2.4 compiled for PostgreSQL 10 and call it postgis-2.3 PostgreSQL 10 and it will work.
> 
> BUT
> 
> postgis-2.3 compiled for PostgreSQL 9.6  CAN NOT BE USED by something looking for PostgreSQL 10 postgis-2.3
> (though they both have 2.3 they are incompatible).
> 
> Thus my need to just ditch the minor to make every one's life easier.

Sure, I understand this. But reiterating my point from a previous email,
pg_upgrade exists to update any on-disk binary changes and internal
APIs. The assumption is that all other external libraries will remain
the same, however I'm uncertain exactly what "the same" means in
PostgreSQL terms.

For example if PostgreSQL 10 makes a binary change to the Datum struct
or the AnalyzeStats struct compared to 9.6 then there is nothing we can
do about this without a recompile, and I can't see how dropping the
minor version would help here. So from what you are saying above, does
that mean such a breaking change has taken place between 9.6 and 10?


ATB,

Mark.



More information about the postgis-devel mailing list