Відповідно до документації 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