对于我还能尝试的其他任何想法都会非常感激吗?
版本:
以下错误:
PG::UndefinedFile - ERROR: could not access file "$libdir/postgis-2.1": No such file or directory
:
activerecord (4.2.4) lib/active_record/connection_adapters/postgresql_adapter.rb:596:in `block in exec_no_cache'
activerecord (4.2.4) lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
activesupport (4.2.4) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activerecord (4.2.4) lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
activerecord (4.2.4) lib/active_record/connection_adapters/postgresql_adapter.rb:596:in `exec_no_cache'
activerecord (4.2.4) lib/active_record/connection_adapters/postgresql_adapter.rb:588:in `execute_and_clear'
activerecord (4.2.4) lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in `exec_query'
activerecord (4.2.4) lib/active_record/connection_adapters/postgresql_adapter.rb:737:in `column_definitions'
activerecord-postgis-adapter (3.1.0) lib/active_record/connection_adapters/postgis/schema_statements.rb:9:in `columns'
基本调试:
$ pg_config --pkglibdir
/usr/local/Cellar/postgresql/9.4.5/lib
$ ls -lrt /usr/local/Cellar/postgresql/9.4.5/lib/postgis
postgis-2.1.so*
/ usr / local / Cellar / postgresql /仍显示9.4.5_1和9.4.5_2的文件夹。我也试过在Postgres上删除,创建和修改postgis扩展,并且运行没有打嗝。当我查找已安装的扩展程序时:
-[ RECORD 36 ]----+---------------------------------------------------------------------
name | postgis
default_version | 2.1.7
installed_version | 2.2.0
comment | PostGIS geometry, geography, and raster spatial types and functions
答案 0 :(得分:1)
我有同样的问题,从postgres shell运行ALTER EXTENSION postgis UPDATE;
似乎可以解决问题:
$ \dx postgis
| 2.1.7 | public | PostGIS geometry, geography, and raster spatial types and functions
$ ALTER EXTENSION postgis UPDATE;
ALTER EXTENSION
$ \dx postgis
| 2.2.0 | public | PostGIS geometry, geography, and raster spatial types and functions
之后,错误消失了
答案 1 :(得分:1)
在使用自制软件的OSX上,我通常会同时更新postgresql
和postgis
,如下所示:
brew update
brew uninstall postgis
brew upgrade postgresql
brew install postgis
# update the postgis extension
psql -d your_database -c "alter extension postgis update"
# recompile the native extensions in the pg gem
gem pristine pg
如果您正在进行主要的PostgreSQL更新(例如,从9.4到9.5)并希望保留您的数据,请先查看pg_upgrade
。