Solo secondo la documentazione PostGIS
Alcune distribuzioni impacchettate di PostGIS ... caricano le funzioni PostGIS in un database modello chiamato template_postgis.
Quindi, non tutte le distribuzioni vengono fornite template_postgis
.
Come detto nelle risposte esistenti, in PostGIS 2.x è facile creare o personalizzare il modello da soli creando un database normale chiamato template_postgis
superutente e quindi creando le estensioni obbligatorie e facoltative (come pgRouting). Per la documentazione 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;"
Inoltre, è possibile contrassegnare questo database appena creato come database modello impostando il datistemplate
flag nella tabella di sistema pg_database
su ture
.
psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"
Ciò, ad esempio, eviterà che il database dei modelli venga accidentalmente eliminato o modificato da altri utenti o dall'utente stesso. (Sarà necessario impostare il flag su false se si desidera apportare modifiche al modello.)
Quindi puoi creare un database spaziale basato su qualsiasi cosa tu abbia inserito nel modello:
createdb -T template_postgis my_spatial_db