view backend/doc/schema/postgresql-setup.sh @ 8716:b5ac17a10d22

(issue1754) Only create new Recommendations I belive that this was the original intent of this function otherwise why create a list of newRecommendations at all if we always recreate all Recommendations again. With the side effect that old recommendations had no master artifact the created artifacts of already existing artifacts did not have enough information to live and were not shown in the client so this problem was hidden.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 27 Apr 2015 11:45:31 +0200
parents 4ad2b530dbba
children c1cea6c95967
line wrap: on
line source
#!/bin/bash

# $1: user name and password for new DB (equals DB name)
# $2: path to directory with schema-scripts
# $3: host

# run as user postgres (postgresql super-user)
# it is assumed that the owner of the DB has the same name as the DB!

# create PostGIS-DB
createuser -S -D -R $1
createdb $1
createlang plpgsql $1
# Path appears e.g. as /usr/share/postgresql/contrib/postgis-1.5/ on some systems,
# /usr/share/postgresql/8.4/contrib/postgis-1.5/ on others
POST_INIT_DIR=`find /usr/share/postgresql/ -name spatial_ref_sys.sql | sed -n '1p'`
POST_INIT_DIR=`dirname $POST_INIT_DIR`
psql -d $1 -f $POST_INIT_DIR/postgis.sql
psql -d $1 -f $POST_INIT_DIR/spatial_ref_sys.sql
psql -d $1 -c "ALTER USER $1 WITH PASSWORD '$1';"
psql -d $1 -c "GRANT ALL ON geometry_columns TO $1; GRANT ALL ON geography_columns TO $1; GRANT ALL ON spatial_ref_sys TO $1;"

# add credentials to .pgpass (or create .pgpass)
echo "*:*:$1:$1:$1" >> ~/.pgpass
chmod 0600 ~/.pgpass

# apply schema-scripts
psql -d $1 -U $1 -h $3 -f $2/postgresql.sql
psql -d $1 -U $1 -h $3 -f $2/postgresql-spatial.sql
psql -d $1 -U $1 -h $3 -f $2/postgresql-minfo.sql

http://dive4elements.wald.intevation.org