¿Por qué la instalación de PostGIS no crea un template_postgis?

36

Seguí esta ruta para la instalación de PostgreSQL y PostGIS:

Ahora cuando ejecuto pgAdmin y trato de crear una nueva base de datos PostGIS, no hay template_postgis para usar en Template.

He intentado ir por otra ruta, que es descargar el paquete PostgreSQL directamente desde PostgreSQL. Esto instala el servidor y le permite usar el StackBuilder para descargar e instalar PostGIS. Esto no soluciona mi problema.

    
pregunta Michael Markieta 29.01.2012 - 00:53

5 respuestas

32

Puede crear fácilmente la plantilla si no está allí automáticamente. Aquí hay una descripción de ubuntu: enlace

Esta es la parte esencial:

sudo su postgres
createdb template_postgis
createlang plpgsql template_postgis
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql

En Pangolín preciso:

sudo su postgres
createdb template_postgis
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
    
respondido por el underdark 29.01.2012 - 08:36
29

Desde la versión 2, Postgis se habilita mediante el uso del sistema de extensión. Para habilitar espacialmente una base de datos, inicie sesión en su base de datos y luego:

 CREATE EXTENSION postgis;
 CREATE EXTENSION postgis_topology;

fuente: enlace

Nota: solo los roles SUPERUSERS tienen la capacidad de crear EXTENSIONS

    
respondido por el nickves 22.07.2012 - 22:47
6

Tuve problemas similares y terminé de instalar el paquete encontrado en:

entreprisedb.com

puede seleccionar instalar postgis durante la fase de instalación o llamar a 'Application Stack Builder' más adelante. Si la instalación no funciona, seleccione otra carpeta para descargar el instalador de Postgis (que se llamará algo así como edb_postgis_1_5_pg91.app.zip). Desembale la cremallera e instálela. Si no funciona, es posible que desee reiniciar e intentar de nuevo. En pgAdmin III debería aparecer template_postgis.

    
respondido por el Vladtn 29.01.2012 - 02:27
3

La pregunta puede estar desactualizada pero me encontré con el mismo error en OS X Lion. Tal vez mi respuesta podría ayudar a otro usuario.

La instalación predeterminada de PostGIS con "stack builder" fallará. Pero después del primer paso de la instalación, puede elegir la carpeta de descarga para PostGIS. Solo descárgalo a tu escritorio y descomprímelo a mano. Al hacer doble clic en el archivo, se instalará correctamente. El postgis_template ahora está disponible en el pgAdmin.

    
respondido por el troll 22.07.2012 - 21:20
1

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
    
respondido por el til 08.06.2017 - 08:18

Lea otras preguntas en las etiquetas