PostGISのインストールでtemplate_postgisが作成されないのはなぜですか?


36

PostgreSQLとPostGISのインストールにこのルートを使用しました。

pgAdminを起動して新しいPostGISデータベースを作成しようとすると、Templateで使用するtemplate_postgisがありません。


PostgreSQLから直接PostgreSQLパッケージをダウンロードするという別の方法を試してみました。これによりサーバーがインストールされ、StackBuilderを使用してPostGISをダウンロードおよびインストールできます。これは私の問題を解決しません。

回答:


32

テンプレートが自動的に存在しない場合、テンプレートを簡単に作成できます。ここにubuntuの説明があります:http : //obsessivecoder.com/2010/02/01/installing-postgresql-8-4-postgis-1-4-1-and-pgrouting-1-0-3-on-ubuntu -9-10-karmic-koala /

これは重要な部分です。

sudo su postgres
createdb template_postgis
createlang plpgsql template_postgis
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql

正確なセンザンコウ:

sudo su postgres
createdb template_postgis
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

奇妙な..ステップ「はcreatelang plpgsqlがpostgistemplate」私は$すでに「postgistemplate」データベースにインストールされている「plpgsqlが」...そして次のステップで、psqlを取得する:コマンドが見つからない
マイケルMarkieta

アップデート-を/ usr / share /パスにはPostGISのディレクトリが存在しない
マイケル・Markieta

それから、OSXのどこかに隠されていると思います。ファイルを検索してみましたか?
暗闇

ファイルが見つかりました。すべてのコード行がエラーなしで実行されます。しかし、pgAdmin3にはまだテンプレートが表示されません。(奇妙な...ライオンに切り替える前にこれをMacで動作させていた)
マイケルマルキエタ

テンプレートの作成にどのユーザーを使用し、pgAdminでどのユーザーを使用していますか?
暗闇

29

バージョン2以降、拡張システムを使用してPostgisが有効になります。データベースを空間的に有効にするには、データベースにログインしてから:

 CREATE EXTENSION postgis;
 CREATE EXTENSION postgis_topology;

ソース:http : //postgis.net/docs/postgis_installation.html

注:SUPERUSERS作成できるのはロールのみですEXTENSIONS


pgAdmin4から:データベース>> {dbを選択} >>拡張機能>>
-r-

6

同様の問題があり、次の場所にあるパッケージをインストールしました。

entreprisedb.com

インストール段階でpostgisのインストールを選択するか、後で「Application Stack Builder」を呼び出します。インストールが機能しない場合、別のフォルダーを選択してpostgisインストーラー(edb_postgis_1_5_pg91.app.zipのような名前になります)をダウンロードします。zipを解凍してインストールします。動作しない場合は、再起動して再試行してください。pgAdmin IIIにtemplate_postgisが表示されます。


3

質問は時代遅れかもしれませんが、OS X Lionで同じエラーに遭遇しました。たぶん私の答えは別のユーザーに役立つかもしれません。

「スタックビルダー」を使用したPostGISのデフォルトのインストールは失敗します。ただし、最初のインストール手順の後、PostGISのダウンロードフォルダーを選択できます。デスクトップにダウンロードして、手動で解凍するだけです。ファイルをダブルクリックすると、適切にインストールされます。postgis_templateがpgAdminで利用可能になりました。


1

PostGISドキュメントによると、

PostGISのパッケージ化されたディストリビューション ... PostGIS関数をtemplate_postgisと呼ばれるテンプレートデータベースにロードします。

したがって、すべてのディストリビューションにが付属してtemplate_postgisいるわけではありません。

既存の回答で述べたように、PostGIS 2.xでは、template_postgis スーパーユーザーという名前の通常のデータベースを作成し、必要なオプションの拡張機能(pgRoutingなど)を作成することで、テンプレートを簡単に作成またはカスタマイズできます。PostGISドキュメントごと:

sudo su postgres
createdb template_postgis

psql -d template_postgis -c "CREATE EXTENSION postgis;"
psql -d template_postgis -c "CREATE EXTENSION postgis_topology;"

-- if you built with sfcgal support --
psql -d template_postgis -c "CREATE EXTENSION postgis_sfcgal;"

また、あなたが設定することで、テンプレートデータベースとしてこの新しく作成したデータベースをマークすることができdatistemplate、システムテーブルにフラグをpg_databaseしますture

psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"

これにより、たとえば、テンプレートデータベースが他のユーザーまたは自分によって誤って削除または変更されるのを防ぐことができます。(テンプレートに変更を加える場合は、フラグをfalseに設定する必要があります。)

次に、テンプレートに入力したものに基づいて空間データベースを作成できます。

createdb -T template_postgis my_spatial_db
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.