2

いくつかのテーブル、トリガー、およびトリガー関数を作成するSQLスクリプトがあります。「クエリ」セクションでコマンドを実行すると、すべてのコマンドがpgAdminで機能します。私の目標は、これらすべてのコマンドをスクリプトに入れて、任意のマシンにデータベースを比較的簡単かつ迅速にセットアップできるようにすることです。ただし、psqlを使用してスクリプトを実行しようとすると、Geography型を使用しようとしたすべての行で次のエラーが発生します。

ERROR:  type "geography" does not exist

まったく同じクエリをコピーしてpgAdminのクエリエディタに貼り付けることができ、問題なく動作するため、意味がありません。psqlはPostGISをサポートしていませんか?それとも、新しいGeographyタイプを含むPostGISの最新バージョン1.5.3ではないでしょうか?これを修正するために私にできることはありますか?

編集

私のクエリの1つの例:

CREATE TABLE source_imagery (
    id SERIAL PRIMARY KEY,
    image_type VARCHAR(1000),
    image_path VARCHAR(1000),
    boundary GEOGRAPHY(POLYGON, 4326),
    image_time TIMESTAMP,
    catalog_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

エラーメッセージ:

ERROR:  type "geography" does not exist
LINE 5:     boundary GEOGRAPHY(POLYGON, 4326),
                     ^
4

1 に答える 1

1

pgAdminが使用するのと同じpsqlを直接ポイントすることで、使用を試みることができます。Mac OS Xでは、pgAdmin3.app / Contents / SharedSupport/psqlにあります。ただし、実際に重要なのはサーバーのバージョンです(クライアントのバージョンではありません)。どちらの場合も、同じデータベースに接続していることを確認する必要があります。

于 2011-08-12T18:37:02.373 に答える