Missing libraries when upgrading to PostGIS 2.1 and PostgreSQL 9.3.1 using homebrew

我与影子孤独终老i 提交于 2019-11-29 12:42:50

问题


In the process of upgrading my PostgreSQL from version 9.2.4 to 9.3.1 (via homebrew on OS X) I came across an odd problem. These are the steps I took so far

  • PostgreSQL, PostGIS and required libraries installed (no errors)
  • run initdb on the new database
  • stopped both servers
  • running pg_upgrade

pg_upgrade performs the necessary checks, creates dumps of the old cluster, but when importing into the new cluster I get the following error:

> ./pg_upgrade -b /usr/local/Cellar/postgresql/9.2.4/bin/ -B /usr/local/Cellar/postgresql/9.3.1/bin -d /usr/local/var/postgres/ -D /usr/local/var/postgres9.3.1 -u postgres
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is a superuser                       ok
Checking for prepared transactions                          ok
Checking for reg* system OID user data types                ok
Checking for contrib/isn with bigint-passing mismatch       ok
Creating dump of global objects                             ok
Creating dump of database schemas
                                                            ok
Checking for presence of required libraries                 fatal

Your installation references loadable libraries that are missing from the
new installation.  You can add these libraries to the new installation,
or remove the functions using them from the old installation.  A list of
problem libraries is in the file:
    loadable_libraries.txt

Failure, exiting

It appears as though PostgreSQL 9.3.1 tries to use PostGIS 2.0, which is not compatible

Could not load library "$libdir/postgis-2.0"
ERROR:  could not access file "$libdir/postgis-2.0": No such file or directory

Could not load library "$libdir/rtpostgis-2.0"
ERROR:  could not access file "$libdir/rtpostgis-2.0": No such file or directory

Has anyone run into the same problem?


回答1:


I recently ran into this problem and re-installing postgis worked for me. That is, go to the folder in which you tar'ed the source file (if you installed postgis from source) and re-run:

./configure
make
sudo make install

If you've installed the latest version of postgresql, postgis should install into the new postgresql's extension folder:

/usr/share/postgresql/x.x/extension/

To check, run:

sudo su -l postgres

psql template1 -p 5433

SELECT name, default_version,installed_version 
FROM pg_available_extensions WHERE name LIKE 'postgis%' ;

If postgis has successfully installed, you should see the version number indicated in the "installed" column. Now when you try running the pg_upgrade command, everything should work fine.

Hope this helps.



来源:https://stackoverflow.com/questions/19597502/missing-libraries-when-upgrading-to-postgis-2-1-and-postgresql-9-3-1-using-homeb

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!