Hi List
Maybe you can point me in the right direction. I’m running PostgreSQL 9.6.8 (64bit) on Windows 2008 R2 with PostGIS 2.3.5 installed. I have installed the 2.4.3 binaries and when I try to run ALTER EXTENSION postgis UPDATE TO “2.4.3”; I get the following error:
ERROR could not load library PostgreSQL/9.6/lib/postgis-2.4.dll The specified procedure could not be found.
The file is there. I’ve checked permissions and all are valid. I’ve stopped and started the postgresql service. Am I missing something going from PostGIS 2.3.x to 2.4.x? In the past upgrades have been totally painless.
Any help much appreciated.
Thanks
Ross
Ross McDonald | GIS Data Coordinator | Angus Council, People, IT | Angus House, Orchardbank Business Park, Sylvie Way, Forfar DD8 1AT | t: 01307 476419
This message is strictly confidential. If you have received this in error, please inform the sender and remove it from your system. If received in error you may not copy, print, forward or use it or any attachment in any way. This message is not capable of creating a legal contract or a binding representation and does not represent the views of Angus Council. Emails may be monitored for security and network management reasons. Messages containing inappropriate content may be intercepted. Angus Council does not accept any liability for any harm that may be caused to the recipient system or data on it by this message or any attachment.
On Tue, Mar 20, 2018 at 05:59:37PM +0000, McDonaldR wrote:
>Maybe you can point me in the right direction. I'm running PostgreSQL
>9.6.8 (64bit) on Windows 2008 R2 with PostGIS 2.3.5 installed. I have
>installed the 2.4.3 binaries and when I try to run ALTER EXTENSION
>postgis UPDATE TO "2.4.3"; I get the following error:
>
>ERROR could not load library PostgreSQL/9.6/lib/postgis-2.4.dll The
>specified procedure could not be found.
This is just a random guess, but one problem I encountered on all my
Postgres setups to upgrade from PostGIS 2.3 to 2.4 is the following:
There was a single function definition which isn't updated by the
PostGIS 2.4 SQL script to point the new binary:
geog_brin_inclusion_add_value().
This prevented the update with a similar error message (I am on
GNU/Linux though). To check if this is the problem, you can check if
there are references to the old binary by using:
SELECT * FROM pg_proc WHERE probin ~* 'postgis-2.3';
For me, this identified the afore mentioned function. To replace this
reference to a version in the new binary I had to do the following:
CREATE OR REPLACE FUNCTION geog_brin_inclusion_add_value(internal, internal, internal, internal)
RETURNS boolean
AS '$libdir/postgis-2.4','geog_brin_inclusion_add_value'
LANGUAGE 'c';
Just my 2 cents, your problem might be something completely different
though.
Cheers,
Tom
_______________________________________________
postgis-users mailing list
postgi...@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/postgis-users
Ross,
That error often means there is a dependency missing.
I think I did upgrade some binaries like GDAL and GEOS in last run, so if you were upgrading while PostGIS lib was in use, you might have gotten an error like
"Can't overwrite file" during installation and since 2.4.3 would need the newer GDAL/GEOS/Proj might fail. That would cause this problem. Fix would be shut down postgresql, restart and rerun the 2.4.3 setup.
Could also be a packaging mistake on my part.
I'll test on my end on a clean 64-bit 9.6.8 to rule out issue on my end. Last time I had a large number of people complaining about this, it was because EDB micro upgraded installed a libeasy32.dll that was incompatible with the curl I was shipping, so I had to recompile the curl to be compatible with whatever EDB upgraded their SSL libraries to.
Given your 2.3.5 still works? I assume the ssl is not the issue.
Thanks.
Regina
You're referring to:
https://trac.osgeo.org/postgis/ticket/3956
That bug was supposedly fixed in version 2.4.3 so should
not be the one Ross is hitting. I cannot read the
"specified procedure" in Ross' ERROR message, typical
"friendliness" of those proprietary operating systems ?
May I suggest you use a serious system for PostGIS ?
--strk;
On Tue, Mar 20, 2018 at 11:08:53PM +0100, Sandro Santilli wrote:
>On Tue, Mar 20, 2018 at 02:27:47PM -0400, Tom Kazimiers wrote:
>> This is just a random guess, but one problem I encountered on all my
>> Postgres setups to upgrade from PostGIS 2.3 to 2.4 is the following: There
>> was a single function definition which isn't updated by the PostGIS 2.4 SQL
>> script to point the new binary:
>>
>> geog_brin_inclusion_add_value().
>
>You're referring to:
>https://trac.osgeo.org/postgis/ticket/3956
>
>That bug was supposedly fixed in version 2.4.3 so should
>not be the one Ross is hitting.
Thanks for the pointer, good to know this is fixed!
Best,
Tom
Hi Regina
Thanks for the feedback.
This is my current working environment:
"POSTGIS="2.3.5 r16110" GEOS="3.6.2-CAPI-1.10.2 4d2925d" PROJ="Rel. 4.9.3, 15 August 2016" GDAL="GDAL 2.2.2, released 2017/09/15" LIBXML="2.7.8" LIBJSON="0.12" TOPOLOGY RASTER PostgreSQL 9.6.8, compiled by Visual C++ build 1800, 64-bit"
I stopped PostgreSQL, copied over the new PostGIS binary files, restarted PostgreSQL and tried to run the upgrade.
I have libeay32.dll (1.0.2n, 12/12/2017) installed in bin\ as well as libxml2.dll and linxml2-2.dll (should I have both files?)
Ross
Yah the libxml2.dll and I assume you meant libxml2-2.dll. PostGIS needs the one called libxml2-2.dll and PostgreSQL EDB uses the one called libxml2.dll. They can be even the same dll. The libxml2-2.dll I have is dated 7/17/2017 (but like I said if you copied libxml2.dll to libxml2-2.dll that should work fine.
I upgraded my PostgreSQL 9.6 to EDB 9.6.8 and the 2.4.3 I had installed was still working so libeasy is not the issue. I too also have libeay32.dll (1.0.2n, 12/12/2017)
You copied over the binaries? You weren't using the installer? For some reason on my server, the Stackbuilder hung trying to download the installer so I just got it from:
https://winnie.postgis.net/download/windows/pg96/buildbot/postgis-bundle-pg96x64-setup-2.4.3-2.exe
I still haven't got around to installing on a virgin 9.6.8. To rule out it's not just because I've got some other libraries I always use already installed on my EDb instance.
Thanks,
Ross,
For reference My install gives:
PostgreSQL 9.6.8, compiled by Visual C++ build 1800, 64-bit
POSTGIS="2.4.3 r16312" PGSQL="96" GEOS="3.6.2-CAPI-1.10.2 4d2925d" PROJ="Rel. 4.9.3, 15 August 2016" GDAL="GDAL 2.2.3, released 2017/11/20" LIBXML="2.7.8" LIBJSON="0.12" LIBPROTOBUF="1.2.1" RASTER
Given that your GDAL is older (if you had installed 2.4.3 using the latest installer, it should have overwritten your 2.3.5 gdal so it should be showing 2.2.3). Given it didn't that could be the problem.
I forget if the I had originally shipped 2.4.3 with GDAL 2.2.2 (so maybe that is not the issue and you have the same cause you are using an earlier installer)
Anyrate if you are not in a super rush to upgrade, you might want to wait till I release: postgis-bundle-pg96x64-setup-2.4.3-3.exe
Which I'm hoping to get out this weekend or next. The things that will be upgraded in it are pgRouting and GDAL.
GDAL 2.2.4 came out a couple of days ago - https://trac.osgeo.org/gdal/wiki/Release/2.2.4-News (with an ODBC fix that one of my client's needs for the ogrfdw)
pgRouting 2.5.3 and pgRouting 2.6.0 also came out https://lists.osgeo.org/pipermail/pgrouting-users/2018-March/002384.html (of which I am planning to include 2.6.0)
From: Regina Obe [mailto:l...@pcorp.us]
Sent: Wednesday, March 21, 2018 1:18 PM
To: 'PostGIS Users Discussion' <postgi...@lists.osgeo.org>
Subject: RE: [postgis-users] Error upgrading to PostGIS 2.4.3
Yah the libxml2.dll and I assume you meant libxml2-2.dll. PostGIS needs the one called libxml2-2.dll and PostgreSQL EDB uses the one called libxml2.dll. They can be even the same dll. The libxml2-2.dll I have is dated 7/17/2017 (but like I said if you copied libxml2.dll to libxml2-2.dll that should work fine.
I upgraded my PostgreSQL 9.6 to EDB 9.6.8 and the 2.4.3 I had installed was still working so libeasy is not the issue. I too also have libeay32.dll (1.0.2n, 12/12/2017)
You copied over the binaries? You weren't using the installer? For some reason on my server, the Stackbuilder hung trying to download the installer so I just got it from:
https://winnie.postgis.net/download/windows/pg96/buildbot/postgis-bundle-pg96x64-setup-2.4.3-2.exe
I still haven't got around to installing on a virgin 9.6.8. To rule out it's not just because I've got some other libraries I always use already installed on my EDb instance.
Thanks,
Regina
From: postgis-users [mailto:postgis-us...@lists.osgeo.org] On Behalf Of McDonaldR
Sent: Wednesday, March 21, 2018 11:54 AM
Hi Regina
Thanks for that info. I downloaded the executable and ran that over a local install of PostgreSQL 9.6.8 with PostGIS 2.4.2 that was giving me the same error when trying to upgrade to 2.4.3 – it installed over the top and everything is now working. I’ll wait for your new package and do our production servers.
My local install is now at:
"POSTGIS="2.4.3 r16312" PGSQL="96" GEOS="3.6.2-CAPI-1.10.2 4d2925d" PROJ="Rel. 4.9.3, 15 August 2016" GDAL="GDAL 2.2.3, released 2017/11/20" LIBXML="2.7.8" LIBJSON="0.12" LIBPROTOBUF="1.2.1" TOPOLOGY RASTER"
I’ve always used the binaries from Winnie. Our production servers are behind a firewall and StackBuilder doesn’t work. What are the different use cases for postgis-bundle*.zip, postgis-bundle-setup*.exe and postgis-binaries*.zip?
The bundles have everything in them – pgrouting, postgis, ogrfdw, pointcloud, etc. The binaries are just postgis. Are they built at the same time and then just routed into different output files?
Ross,
I'll check the zips and see if something is wrong. I only test the installers at release since that's what novice users use.
The installers are built using the postgis bundle zips and are meant for more experienced users or people in a rush to upgrade.