De acuerdo con la documentación de PostGIS, solo
Algunas distribuciones empaquetadas de PostGIS ... cargan las funciones de PostGIS en una base de datos de plantillas llamada template_postgis.
Entonces, no todas las distribuciones vienen con template_postgis
.
Como se dijo 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
superusuario y luego creando las extensiones requeridas y opcionales (como pgRouting). Por 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 creado como una base de datos de plantilla mediante el establecimiento de la 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, por ejemplo, evitará que la base de datos de la plantilla se caiga o altere accidentalmente por otros usuarios o usted mismo. (Deberá establecer el indicador en falso si desea realizar cambios en la plantilla).
Luego puede crear una base de datos espacial basada en lo que haya puesto en la plantilla:
createdb -T template_postgis my_spatial_db