2011-01-04 1 views
3

GeoDjangoアプリケーションのMac OS X Snow Leopard(10.6)でPostGIS(1.5)用のテンプレート地理データベースを構築しようとしています。PostGISテンプレートデータベースの作成に関する問題

私は、次のい: http://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#creating-a-spatial-database-template-for-postgis

が、私は私がエラーを取得していますその時点で提供postgis.sql(すなわちpsql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql)を実行しなければならないポイント

まで来ることができました実行しようとした最初のSQLステートメント。 psqlプロンプトでそれを試してみると、結果は次のようになります:

template_postgis=# CREATE OR REPLACE FUNCTION st_spheroid_in(cstring) RETURNS spheroid AS '/usr/local/pgsql/lib/postgis-1.5','ellipsoid_in' LANGUAGE 'C' IMMUTABLE STRICT; 
NOTICE: type "spheroid" is not yet defined 
DETAIL: Creating a shell type definition. 
ERROR: could not load library "/usr/local/pgsql/lib/postgis-1.5.so": dlopen(/usr/local/pgsql/lib/postgis-1.5.so, 10): Symbol not found: _DatumGetFloat4 
    Referenced from: /usr/local/pgsql/lib/postgis-1.5.so 
    Expected in: /opt/local/lib/postgresql83/bin/postgres 
in /usr/local/pgsql/lib/postgis1.5.so 

何が考えられているのでしょうか?

+0

奇妙なエラーです。 PostGISはどのようにインストールしましたか? OS XのKyngChaosフレームワークで最高の幸運を持っていた。 – tcarobruce

+0

私はMacのポートを試したが、すでに既存の依存関係などを再インストールしようとしたのでうまくいっていなかったので、私はKyngChaosの方法を行った。 – omat

+0

私は '/ usr/local/pgsql/bin /'と '/ opt/local/lib/postgresql83/bin /'の下にpsqlとpg_configと他のバイナリを持っています。これは混乱についての手がかりを与えますか? – omat

答えて

1

は、ここで私はPostGISの Landsliding Into PostGIS With KML Files

+0

ありがとう。まだ運がない。 (私の設定で '/ usr/local/pgsql-9.0/share/contrib/postgis-1.5'の下で)SQL文を実行する必要があるところで'エラー:ファイルにアクセスできませんでした 'というメッセージが表示されます$ libdir/postgis- 1.5 ":このようなファイルやディレクトリはありません。"というエラーは、sqlスクリプトの '$ libdir'を解決できません。私はその変数をsqlファイルの実際のパス(つまり '/ usr/local/pgsql-9.0/lib/postgis-1.5')に置き換えました。私は質問に記載されているエラーを取得しています。私はなぜこの/ opt/local/lib/postgresql83/bin/postgresがどこから参照されているのかわからない。 – omat

+0

両方のバージョンをアンインストールして再開することはできますか? Homebrew – philwhln

+0

を使用することをお勧めします。アンインストールできませんでした。もしできれば、これは問題を解決するだろう。しかし、私はpostgisを再インストールしましたが、それはもはや存在しないpostgresql83ディレクトリにまだ行きます。ありがとう。 – omat

1

このエラーは、共有オブジェクトが見つからなかったことを示しているため、私のテンプレートデータベースの設定方法を説明します。最も明らかな理由は、PostGISがインストールされていないことです(適切に)。さらに、contrib/postgis-1.5フォルダからSQLスクリプトをインストールする順序が重要です。私は正常にこの順番と(Linuxのシェルコマンド)を使用している

:この後

$ psql -U postgres -d database -f /usr/share/postgresql/9.0/contrib/_int.sql 
$ psql -U postgres -d database -f /usr/share/postgresql/9.0/contrib/pg_trgm.sql 
$ psql -U postgres -d database -f /usr/share/postgresql/9.0/contrib/postgis-1.5/postgis.sql 
$ psql -U postgres -d database -f /usr/share/postgresql/9.0/contrib/postgis-1.5/spatial_ref_sys.sql 

を、どこかに800個の機能、いくつかの新しい種類と使用可能ないくつかのオーバーロードされた演算子の周りがあるはずです。

+0

明らかにインストールに関する混乱があります。私は何を知っていないし、私はすべて背中を転がすことができず、始めから始めることができない。もし私がすべてをアンインストールすることもできます。私は前の開発環境のmac ox x 10.5でこれをやっていました。 – omat

+0

@omatデータベースからgis関数を削除できます。それらが利用可能な場合、問題は他の場所にあるはずですが、 "回転楕円体"が定義されていないというエラーメッセージが表示されているため、一部のインポートが欠落しています。 – DrColossos

2

正しい必須ライブラリがインストールされていることを確認してください。 GEOS v2がインストールされていて、v3へのアップグレードでこの問題が解決されたときも同じエラーが発生しました。

関連する問題