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