Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juliomenendez/5694137 to your computer and use it in GitHub Desktop.
Save juliomenendez/5694137 to your computer and use it in GitHub Desktop.
#!/bin/bash
GEOGRAPHY=0
POSTGIS_SQL=postgis.sql
POSTGIS_SQL_PATH=/usr/local/Cellar/postgis/2.0.1/share/postgis
# For Ubuntu 8.x and 9.x releases.
if [ -d "/usr/share/postgresql-8.3-postgis" ]
then
POSTGIS_SQL_PATH=/usr/share/postgresql-8.3-postgis
POSTGIS_SQL=lwpostgis.sql
fi
# For Ubuntu 10.04
if [ -d "/usr/share/postgresql/8.4/contrib" ]
then
POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib
fi
# For Ubuntu 10.10 (with PostGIS 1.5)
if [ -d "/usr/share/postgresql/8.4/contrib/postgis-1.5" ]
then
POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib/postgis-1.5
GEOGRAPHY=1
fi
# For Ubuntu 11.10 / Linux Mint 12 (with PostGIS 1.5)
if [ -d "/usr/share/postgresql/9.1/contrib/postgis-1.5" ]
then
POSTGIS_SQL_PATH=/usr/share/postgresql/9.1/contrib/postgis-1.5
GEOGRAPHY=1
fi
psql -h 127.0.0.1 -c "CREATE DATABASE template_postgis1 WITH ENCODING = 'UTF-8' LC_CTYPE = 'en_US' LC_COLLATE = 'en_US' TEMPLATE template0" && \
( createlang -h 127.0.0.1 -d template_postgis1 -l | grep plpgsql || createlang -h 127.0.0.1 -d template_postgis1 plpgsql ) && \
psql -h 127.0.0.1 -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis1';" && \
psql -h 127.0.0.1 -d template_postgis1 -f $POSTGIS_SQL_PATH/$POSTGIS_SQL && \
psql -h 127.0.0.1 -d template_postgis1 -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql && \
psql -h 127.0.0.1 -d template_postgis1 -c "GRANT ALL ON geometry_columns TO PUBLIC;" && \
psql -h 127.0.0.1 -d template_postgis1 -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
if [ $GEOGRAPHY -eq 1 ]
then
psql -h 127.0.0.1 -d template_postgis1 -c "GRANT ALL ON geography_columns TO PUBLIC;"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment