[postgis-devel] Upgrade PostGIS from 2.5.4 to 3.1.2

Paul Ramsey pramsey at cleverelephant.ca
Tue Jan 25 11:03:59 PST 2022



> On Jan 25, 2022, at 10:58 AM, Bruce Rindahl <bruce.rindahl at gmail.com> wrote:
> 
> Strange how this is so much easier on windows.  When I want to upgrade I simply install the new version of PG and PostGIS right alongside the existing versions. The EDB installer puts all the executables in a different directory, asks me where I want the data directory, and suggests an available port.  I then do a pg_dump of whatever database I want, pipe it to psql and specify the new port number.  Then I spend a while testing to see if everything works.  If it's good I simply shut down each instance, swap the port numbers in postgresql.conf and fire them up again.  Then I am on the new version.  Not sure if this is easily done in linux.

Depends a lot on where you're getting your build from. If you're using PGDG packages, they tend to be set up to allow simultaneous installations of PostgreSQL, so setting up the new version in parallel and piping things over should work fine. The system level packages tend to assume "one true install" though, so adding a new postgresql wipes out the old one, which seems... less than super.

P


> Bruce
> 
> On Tue, Jan 25, 2022 at 10:44 AM Regina Obe <lr at pcorp.us> wrote:
> Uninstalling will cause downtime if any postgis functions are in active use at the time of uninstall. 
> 
>  
> 
> However if you install and symlink fast enough, you shouldn’t have much downtime, if any at all. Probably under 10 minutes.
> 
>  
> 
>  
> 
> From: postgis-devel [mailto:postgis-devel-bounces at lists.osgeo.org] On Behalf Of Nikhil Shetty
> Sent: Monday, January 24, 2022 2:17 PM
> To: PostGIS Development Discussion <postgis-devel at lists.osgeo.org>
> Cc: postgis-users at lists.osgeo.org
> Subject: Re: [postgis-devel] Upgrade PostGIS from 2.5.4 to 3.1.2
> 
>  
> 
> Hi Regina,
> 
>  
> 
> Thank you for sharing the steps.Yes, we are upgrading the database as well from 11.7 to 13.4.
> 
>  
> 
> I saw the steps you shared and I will give it a try.
> 
>  
> 
> Does uninstalling postgis25_11 have any impact on a running Postgres database that is using postgis25_11 functions?? Wanted to know which step will cause a downtime to the application apart from the database upgrade step.
> 
>  
> 
> Thanks and Regards,
> 
> Nikhil
> 
>  
> 
>  
> 
> On Tue, 25 Jan 2022 at 12:36 AM, Regina Obe <lr at pcorp.us> wrote:
> 
> I think I ran into this issue too though I was doing a pg_upgrade from 9.6 to 11 at the same time.
> 
>  
> 
> The issue is since both ship and overlapping set of files, they can’t cleanly coexist.
> 
>  
> 
> The below should work.
> 
>  
> 
> Uninstall postgis25_11 package
> 
>  
> 
> Install the postgis31_11 package
> 
>  
> 
> Symlink the old names to the new libraries
> 
>  
> 
> ln -s /usr/pgsql-11/lib/postgis-3.so /usr/pgsql-11/lib/postgis-2.5.so
> 
> ln -s /usr/pgsql-11/lib/postgis_raster-3.so  /usr/pgsql-11/lib/rtpostgis-2.5.so
> 
>  
> 
> #if you are not using these libraries, you can skip this step
> 
> ln -s /usr/pgsql-11/lib/postgis_topology-3.so /usr/pgsql-11/lib/postgis_topology-2.5.so
> 
>  
> 
> ln -s /usr/pgsql-11/lib/address_standardizer-3.so /usr/pgsql-11/lib/address_standardizer-2.5.so
> 
> ln -s /usr/pgsql-11/lib/address_standardizer-3.so /usr/pgsql-11/lib/address_standardizer.so
> 
>  
> 
>  
> 
> #On your databases
> 
>  
> 
> SELECT postgis_full_version();
> 
>  
> 
> Should show something to the effect you have 2.5 scripts but are running postgis-3
> 
>  
> 
> ALTER EXTENSION postgis UPDATE;
> 
> SELECT postgis_extensions_upgrade();
> 
> SELECT postgis_extensions_update();
> 
>  
> 
> -- if not using raster, you can do this
> 
> DROP EXTENSION postgis_raster;
> 
>  
> 
>  
> 
> #after you are done upgrading your dbs, you can drop the symlinks e.g.
> 
> rm /usr/pgsql-11/lib/rtpostgis-2.5.so
> 
> rm /usr/pgsql-11/lib/postgis-2.5.so
> 
> rm /usr/pgsql-11/lib/postgis_topology-2.5.so
> 
>  
> 
> From: postgis-devel [mailto:postgis-devel-bounces at lists.osgeo.org] On Behalf Of Nikhil Shetty
> Sent: Monday, January 24, 2022 1:48 PM
> To: PostGIS Development Discussion <postgis-devel at lists.osgeo.org>; postgis-users at lists.osgeo.org
> Subject: [postgis-devel] Upgrade PostGIS from 2.5.4 to 3.1.2
> 
>  
> 
> Hi Team,
> 
>  
> 
> I am looking for a way to upgrade postgis on postgresql 11 from 2.5.4 to 3.1.2
> 
> I am getting below error when doing though yum
> 
>  
> 
> Transaction check error:
>   file /usr/pgsql-11/share/extension/address_standardizer.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/address_standardizer.sql from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/address_standardizer_data_us.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/postgis.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/postgis_sfcgal.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/postgis_tiger_geocoder.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/share/extension/postgis_topology.control from install of postgis31_11-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/bin/pgsql2shp from install of postgis31_11-client-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-client-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/bin/raster2pgsql from install of postgis31_11-client-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-client-2.5.4-1.rhel7.x86_64
>   file /usr/pgsql-11/bin/shp2pgsql from install of postgis31_11-client-3.1.2-1.rhel7.x86_64 conflicts with file from package postgis25_11-client-2.5.4-1.rhel7.x86_64
> 
>  
> 
> I have seen the document for 'Hard Upgrade' but that is unfortunately a long route to take for critical databases.
> 
>  
> 
> Postgresql Version - 11.7
> 
> OS - RHEL 7.9
> 
>  
> 
> Full Version Details - 
> 
> PostgreSQL 11.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit POSTGIS="2.5.4" [EXTENSION] PGSQL="110" GEOS="3.8.1-CAPI-1.13.3" PROJ="Rel. 7.0.0, March 1st, 2020" GDA
> 
> L="GDAL 3.0.4, released 2020/01/28" LIBXML="2.9.1" LIBJSON="0.11" LIBPROTOBUF="1.0.2" RASTER
> 
> Thanks and Regards,
> 
> Nikhil
> 
>  
> 
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-devel
> 
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-devel
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-devel



More information about the postgis-devel mailing list