Según la documentación de PostGIS, solo
Algunas distribuciones empaquetadas de PostGIS ... cargue 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 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 denominada template_postgis
como superusuario y luego creando las extensiones requeridas 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 el indicador datistemplate
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 sea eliminada o alterada accidentalmente por otros usuarios o por 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 ponga en la plantilla:
createdb -T template_postgis my_spatial_db