summaryrefslogtreecommitdiff
path: root/sci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh')
-rwxr-xr-xsci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/sci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh b/sci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh
new file mode 100755
index 0000000..7efffd0
--- /dev/null
+++ b/sci-geosciences/openstreetmap-postgis-db-setup/files/install-postgis-osm-db.sh
@@ -0,0 +1,64 @@
+#!/bin/sh
+set -e
+
+if [ -z $DBOWNER ]; then
+ DBOWNER=gis
+fi
+if [ -z $DBNAME ]; then
+ DBNAME=gis
+fi
+
+# echo "Removing Old Database"
+# sudo -u postgres dropdb $DBNAME >/dev/null 2>&1 || true
+
+ echo "Create user $DBOWNER"
+ sudo -u postgres createuser --no-superuser --no-createdb --no-createrole "$DBOWNER" || true
+
+ echo "Creating Database"
+ sudo -u postgres createdb -EUTF8 -O $DBOWNER $DBNAME
+
+ echo "Initializing Database"
+
+ sudo -u postgres createlang plpgsql $DBNAME || true
+
+ echo "Initializing Spatial Extentions for postgresql 9.1"
+ file_postgis=/usr/share/postgresql/contrib/postgis-2.0/postgis.sql
+ file_spatial_ref=/usr/share/postgresql/contrib/postgis-2.0/spatial_ref_sys.sql
+
+ sudo -u postgres psql $DBNAME <$file_postgis >/dev/null 2>&1
+ sudo -u postgres psql $DBNAME <$file_spatial_ref >/dev/null 2>&1
+ echo "Spatial Extentions initialized"
+
+ echo "Initializing hstore"
+ echo "CREATE EXTENSION hstore;" | sudo -u postgres psql $DBNAME
+
+ echo "Setting ownership to user $DBOWNER"
+
+ echo 'ALTER TABLE geometry_columns OWNER TO ' $DBOWNER '; ALTER TABLE spatial_ref_sys OWNER TO ' $DBOWNER ';' | sudo -u postgres psql $DBNAME
+
+
+
+if [ -n "$GRANT_USER" ] ; then
+
+ if [ "$GRANT_USER" = "*" ] ; then
+ echo "GRANT Rights to every USER"
+ GRANT_USER=''
+ for user in `users` ; do
+ GRANT_USER="$GRANT_USER $user"
+ done
+ fi
+
+ for user in $GRANT_USER; do
+ sudo -u postgres createuser --no-superuser --no-createdb --no-createrole "$user" || true
+ echo "Granting rights to user '$user'"
+ (
+ echo "GRANT ALL on geometry_columns TO \"$user\";"
+ echo "GRANT ALL ON SCHEMA PUBLIC TO \"$user\";"
+ echo "GRANT ALL on spatial_ref_sys TO \"$user\";"
+ )| sudo -u postgres psql -U postgres $DBNAME
+ done
+else
+ echo "No extra user for postgress Database created. Please do so yourself"
+fi
+
+exit 0