Согласно документации PostGIS, только
Некоторые упакованные дистрибутивы PostGIS ... загружают функции PostGIS в базу данных шаблонов с именем template_postgis.
Таким образом, не каждый дистрибутив поставляется с template_postgis
.
Как сказано в существующих ответах, в PostGIS 2.x легко создать или настроить шаблон самостоятельно, создав обычную базу данных с именем template_postgis
superuser, а затем создав необходимые и дополнительные расширения (такие как 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