Según la documentación de PostGIS, sólo
Algunas distribuciones empaquetadas de PostGIS ... cargar las funciones de PostGIS en una base de datos de plantillas llamada template_postgis.
Por lo tanto, no todas las distribuciones vienen con template_postgis
.
Como se ha dicho en las respuestas existentes, en PostGIS 2.x, es fácil crear o personalizar la plantilla usted mismo creando una base de datos regular llamada template_postgis
como superusuario, y luego crear las extensiones necesarias y opcionales (como pgRouting). Según la documentación de 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;"
Además, puede marcar esta base de datos recién creada como una base de datos de plantilla estableciendo la opción datistemplate
bandera en la tabla del sistema pg_database
a ture
.
psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"
Esto evitará, por ejemplo, que la base de datos de plantillas sea eliminada o alterada accidentalmente por otros usuarios o por usted mismo. (Tendrás que poner el indicador en falso si quieres hacer cambios en la plantilla).
Entonces puedes crear una base de datos espacial basada en lo que pongas en la plantilla:
createdb -T template_postgis my_spatial_db