_create extension postgis;
_を実行すると、次のエラーが発生します
_ERROR: could not open extension control file "/Library/PostgreSQL/9.6/share/postgresql/extension/postgis.control": No such file or directory
_
OSX El CapitanでHomebrewを使用してインストールされたPostgres 9.6.3およびPostGIS 2.3.2を使用しています。
_mdfind -name postgis.control
_は以下を示します:
_/usr/local/Cellar/postgis/2.3.2/share/postgresql/extension/postgis.control
_
_brew info postgis
_は以下を示します:
_PostGIS extension modules installed to:
/usr/local/share/postgresql/extension
_
Postgresコンソールを起動すると、次のように表示されます。
_psql (9.6.3, server 9.6.1)
_
同様の質問 古いパスを参照するPostGIS Homebrewのインストール? を読み、トップアンサーで指定されたコマンドを使用してpostgresqlをリロードしようとしましたが、psql (9.6.3, server 9.6.1)
が引き続き表示されます。また、_/Library
_ではなく_/usr/local/Cellar
_で拡張制御ファイルを探しているため、私の問題は異なると思います。
任意の助けいただければ幸いです。
Postgisをインストールしようとすると、依存関係として最新バージョンのpostgresqlがインストールされます。したがって、postgres @ Vをインストールした場合(Vはユーザーが希望するバージョンです)
brew install postgresql@V
後でこのコマンドを実行します
brew install postgis
postgres10.1または最新のものをインストールします。だから実行したら
create extension postgis;
Postgresql @ Vでは、拡張ディレクトリを確認しようとしますが、このpostgisは、インストールされているpostgresqlバージョンの拡張フォルダにインストールされているため、拡張ディレクトリにpostgis.controlが見つかりません。
この問題を解決するには、指定したpostgisのインストールから目的のpostgresql @ Vへのシンボリックリンクを作成する必要があります。
ln -s /usr/local/share/postgresql/extension/postgis* /usr/local/Cellar/[email protected]/9.6.6/share/[email protected]/extension/
ln -s /usr/local/lib/postgresql/postgis-2.3.so /usr/local/Cellar/[email protected]/9.6.6/lib/postgis-2.3
ln -s /usr/local/lib/postgresql/rtpostgis-2.3.so /usr/local/Cellar/[email protected]/9.6.6/lib/
これらのコマンドを実行する前に、システムのpostgresqlのバージョンとファイルパスを確認してください
助けてくれてありがとう this Gist .
完全な詳細 here で同様の問題が発生しました。 Postgresコンソールでサーバーが言及されている場合、それは古いコードベースを参照していることを意味します。そのサーバーを停止し、次のコマンドで正しいサーバーを起動します。
$ brew services list
これにより、実行中のデータベースサーバーのリストが表示されます。
$ brew services stop postgresql@<older-version>
$ brew services start postgresql