Mercurial > dive4elements > river
view backend/doc/schema/postgresql-setup.sh @ 8566:fe7e9da6312a
(issue1797) Move close into session release and guard it.
To avoid leaking open and Held sessions we centrally close
the session in the SessionHolder on release.
This also removes some duplicated code in SedDBSessionHolder
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 24 Feb 2015 17:16:14 +0100 |
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