Nuevo Método Con PostgreSQL 9.1
Gracias a los consejos de R. K. a continuación, eché un vistazo a este tutorial y se encontró que para PostgreSQL 9.1 todo lo que necesita hacer es agregar las extensiones postgis
y postgis_topology
a una base de datos existente mediante el pgAdmin los menús de contexto. Para crear un postgis plantilla, he creado una nueva base de datos llamada template-postgis
y, a continuación, añade estas extensiones. Entonces creé mi otra base de datos utilizando esta plantilla. Cuando se utiliza pg_dump
me encontré con el tamaño de la exportación era mucho más pequeña, como parece incluir estas líneas y no de volcado de las funciones de extensión:
CREATE EXTENSION IF NOT EXISTS postgis WITH SCHEMA public;
CREATE EXTENSION IF NOT EXISTS postgis_topology WITH SCHEMA topology;
Viejo Redundante Método:
Terminé usando el .archivos de sql aquí:
/Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/postgis.sql
/Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/spatial_ref_sys.sql
/Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/topology.sql
También, tengo este error cuando me importan un existente de la base de datos PostGIS en una nueva base de datos elaborados a partir de esta plantilla:
ERROR: type "spheroid" already exists
Así que he seguido las instrucciones aquí y se utiliza ON_ERROR_ROLLBACK=on
a configurar la plantilla, después de la creación de una base de datos en blanco llamado "template_postgis":
psql -U postgres -d template_postgis -1 -f /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/postgis.sql -v ON_ERROR_ROLLBACK=on
psql -U postgres -d template_postgis -1 -f /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/spatial_ref_sys.sql -v ON_ERROR_ROLLBACK=on
psql -U postgres -d template_postgis -1 -f /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/topology.sql -v ON_ERROR_ROLLBACK=on
Y luego importados a mi backup de la db, por ejemplo:
psql -U someuser -d somedb -1 -f somefile.sql -v ON_ERROR_ROLLBACK=on
Incluso El Método Anterior:
Hice esto:
createdb -E UTF8 -T template0 template_postgis
createlang -d template_postgis plpgsql
psql --quiet -d template_postgis -f /Applications/Postgres.app/Contents/MacOS/share/extension/postgis--2.0.1.sql
El camino de postgis--2.0.1.sql
será diferente dependiendo de su configuración.