2017-06-30 8 views
3

私は、私が使用してインストールPostgresの9.6.3とのPostGIS 2.3.2を使用していますcreate extension postgis;は、PostGISの拡張子の作成:「ERROR:でし開いていない拡張制御ファイル」

ERROR: could not open extension control file "/Library/PostgreSQL/9.6/share/postgresql/extension/postgis.control": No such file or directory

を実行したときに、私は次のエラーを取得していますOS X El Capitanの自作。

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 installation referencing an old path?を読んで、 〜 dはpostgresqlを最初の答えで与えられたコマンドを使用してリロードしようとしましたが、私はまだpsql (9.6.3, server 9.6.1)を見ています。また、/Libraryの拡張子コントロールファイルを探していて、/usr/local/Cellarではないため、私の問題は異なると思います。

ご協力いただければ幸いです。

+0

おそらく[この回答](https://stackoverflow.com/a/25467873/7925366)が役立ちます。 –

+0

@ michel.milezziこれはまさに私が試みたものですが、拡張機能の作成に失敗しました。 – Fiona

+0

ok @Fionaなんで最後にあなたのために働いたの? – abbood

答えて

0

私は完全な詳細hereで同様の問題がありました。あなたのPostgresコンソールにサーバーが記述されている場合は、古いコードベースを参照していることを意味します。そのサーバーを停止し、以下のコマンドで正しいサーバーを起動します。

$ brew services list 

これにより、実行中のデータベースサーバーの一覧が表示されます。

$ brew services stop [email protected]<older-version> 
$ brew services start postgresql 
0

postgisをインストールしようとすると、postgresqlの最新バージョンが依存関係としてインストールされます。あなたは(Vは、ユーザー目的のバージョンである場合)V @のpostgresをインストールした場合 だから

brew install [email protected]

あとで

brew install postgis

このコマンドを実行するには、postgres10.1または何でも最新のものをインストールします。 PostgreSQLの@ Vに

create extension postgis;

を実行するのであれば、その後それは、その拡張ディレクトリをチェックしようとすると、このPostGISのは、PostgreSQLのバージョンの拡張フォルダにインストールされているように、拡張ディレクトリにpostgis.controlを見つけることができませんそれはそれと共にインストールされます。

は、この問題を解決するには、目的のPostgreSQLの@ V

に9 @ PostgreSQLのこの例でのPostGISの特定のインストールからのシンボリックリンクを作成する必要があります。これらのコマンドを実行する前に、6

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/ 

、お使いのシステムに助けを

おかげthis gistをPostgreSQLのバージョンとファイルのパスを確認してください。

関連する問題