Estoy siguiendo un tutorial para instalar pgrouting. Sin embargo, no obtuve el papel cuando dice
Inicie pgAdmin y cree una nueva base de datos basada en su plantilla PostGIS
¿Dónde puedo obtener esta plantilla postgis? Sé que he instalado PostGIS usando homebrew. Pero no pude encontrar la plantilla. Estoy corriendo macos ahora.
Respuestas:
Nuevo método con PostgreSQL 9.1
Gracias al consejo de RK a continuación, eché un vistazo a este tutorial y descubrí que para PostgreSQL 9.1 todo lo que necesita hacer es agregar las extensiones
postgis
ypostgis_topology
a una base de datos existente utilizando los menús contextuales de pgAdmin. Para crear una plantilla postgis, creé una nueva base de datos llamadatemplate-postgis
y luego agregué estas extensiones. Luego creé mi otra base de datos usando esta plantilla. Al usarpg_dump
, descubrí que el tamaño de la exportación era mucho más pequeño, ya que parece incluir estas líneas y no volcar las funciones de extensión:Viejo método redundante:
Terminé usando los archivos .sql aquí:
Además, recibí este error cuando importé una base de datos PostGIS existente a una nueva base de datos hecha a partir de esta plantilla:
Así que seguí las instrucciones aquí y solía
ON_ERROR_ROLLBACK=on
configurar la plantilla, después de crear una base de datos en blanco llamada "template_postgis":Y luego importé mi db de respaldo, por ejemplo:
Método aún más antiguo:
Hice esto:
La ruta a
postgis--2.0.1.sql
será diferente dependiendo de su configuración.fuente
Si está ejecutando PostgreSQL 9.1+, no necesita molestarse con la base de datos de la plantilla . Simplemente cree una base de datos y luego en la vista SQL en pgAdmin, escriba y ejecute
Eso habilitará espacialmente su base de datos.
fuente
CREATE EXTENSION postgis_topology;
CREATE EXTENSION
necesita privilegios de superusuario, por lo que crear / usar una plantilla puede ser una muy buena idea.De hecho, esta es la base de la instalación postgis.
Si tiene una plantilla postgis, puede crear una nueva base de datos a partir de ella como:
Si no lo tiene, puede hacerlo de esta manera:
puede usar los scripts de bash Debian / Ubuntu - create_template_postgis-debian.sh, aquí
Espero que te ayude...
fuente
postgres
no tenga permisos para usar un terminal, en cuyo caso elsudo su postgres
comando fallará silenciosamente. Para superar esto, puede preceder a todos estos comandossudo -u postgres
para ejecutar el comando como usuario postgres sin cambiar al usuario postgres.Hasta donde recuerdo, hay algunos guiones disponibles para el taller para crear esas bases de datos de plantillas. También está disponible aquí: https://github.com/pgRouting/pgrouting-contrib/blob/master/scripts/create_templates.sh
Eventualmente necesita cambiar algunas cosas aquí y allá, porque fue escrito para funcionar para Debian / Ubuntu. Pero puedes elegir lo que necesitas.
fuente
Utilizo este script bash para ejecutar la creación de una nueva base de datos con postgis habilitado y el nombre dado en stdin.
Postgres 9.3
PostGIS 2.1.3
fuente