9

OS X Mountain Lion で PostGIS と PostgreSQL をアップグレードし、その後再インストールしました。PostGIS 拡張機能を使用しようとすると、次のエラーが表示されます。

ERROR: could not open extension control file "/usr/local/Cellar/postgresql/
9.2.3/share/postgresql/extension/postgis.control": No such file or directory

PostGIS (および PostgreSQL も??) は、/postgresql/9.2.3/ディレクトリではなくディレクトリで必要なファイルを探しているようです/postgresql/9.2.4/。Homebrew を使用して、次のコマンドで以前のバージョンの PostgreSQL をすべて削除しました。

brew remove --force postgresql

この問題が発生している理由について、誰かが私を正しい方向に向けてくれませんか? (どこかに残留設定ファイルがあるに違いない?)

どんな助けでも大歓迎です。

4

4 に答える 4

12

問題は、コードベースのバージョン 9.2.3 で実行されている psql サーバーを使用していることです。これをテストするには、psql コンソールをロードすると、上部に次のように表示されます。

psql (9.2.4, server 9.2.3)
Type "help" for help.

上記の「server 9.2.3」コメントに注意してください。サーバーの適切なバージョンを実行している場合は、代わりに次のように表示されます。

psql (9.2.4)
Type "help" for help.

これを修正するには、LaunchAgent のアンロードとロードに関する指示に従ってください。これによりbrew info postgresql、サーバーが新しいコードで再起動されます。

To reload postgresql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
于 2013-07-29T08:22:57.457 に答える
1

Homebrew の設計では、通常、ユーザーが編集可能な構成ファイルと生成されたデータ ファイルは、removeまたはupgradeの実行中にそのまま残されるため、バージョン間で保持されます。あなたが正しいように聞こえますが、それはどこかに残された構成ファイルです。

には、postgres 用のグローバル構成ファイルはありません/usr/local/etc。したがって、おそらくユーザーデータファイルです。以前のバージョンの postgres を使用してデータベースを作成し、それらで postgis 拡張機能を使用しましたか? これらのデータベースの構成ファイルは、その古い postgres バージョンを参照している可能性があります。これらのデータベースは通常、 の下にあり/usr/local/var/postgresます。その下の .conf ファイルを見て、それらを編集して拡張機能のパスを修正したり、データベースを再作成したりできるかどうかを確認してください。

于 2013-05-01T01:45:53.290 に答える
1

このまったく同じ問題に遭遇したばかりで、これらの解決策で解決されなかった後、自分自身の問題を見つけました。

brew uninstall postgis && brew install postgis

この作業の鍵は、postgis のビルド出力で際立っていました。

==> ./configure --with-projdir=/usr/local --with-jsondir=/usr/local/opt/json-c --with-pgconfig=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config --disable-nls

pg_config を使用することに注意してください。おそらく、拡張に必要なすべてのファイルをどこに格納する必要があるかを判断するためです。

于 2015-06-19T22:26:18.603 に答える