1

残念ながら、homebrew 経由で postgis を 2.2.0 にアップグレードしたところ、以下のエラーが発生しました。2.1.0 に戻りますが、式はもう利用できないようです。2.0 に移行すると、Postgres を 9.2 にダウングレードしようとします。

他に何を試すことができるかについての考えは大歓迎です?

バージョン:

  • PostGres: 9.4.5_2
  • Postgis: 2.2.0
  • activerecord_postgis_adapter: 3.1.0
  • pg ジェム: 0.18

以下のエラー:

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
4

2 に答える 2

1

自作のOSXでは、通常、次のように両方postgresqlpostgis一緒に更新します。

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

于 2016-02-03T16:59:25.753 に答える
1

私は同じ問題を抱えていましALTER EXTENSION postgis UPDATE;た.postgresシェルから実行するとうまくいくようです:

$ \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

その後、エラーはなくなりました

于 2015-12-18T12:03:37.873 に答える