annotate backend/doc/schema/postgresql-setup.sh @ 8300:b70f0a3510c7

Classify and sort iteration over non-recommendations.
author "Tom Gottfried <tom@intevation.de>"
date Fri, 19 Sep 2014 16:07:59 +0200
parents 4ad2b530dbba
children c1cea6c95967
rev   line source
5284
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 #!/bin/bash
5287
a7e8e9bbe6f5 postgresql-setup.sh: Doc improved.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5284
diff changeset
2
a7e8e9bbe6f5 postgresql-setup.sh: Doc improved.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5284
diff changeset
3 # $1: user name and password for new DB (equals DB name)
5284
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 # $2: path to directory with schema-scripts
5288
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
5 # $3: host
5284
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
7 # run as user postgres (postgresql super-user)
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
8 # it is assumed that the owner of the DB has the same name as the DB!
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
9
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 # create PostGIS-DB
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
11 createuser -S -D -R $1
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
12 createdb $1
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13 createlang plpgsql $1
6818
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
14 # Path appears e.g. as /usr/share/postgresql/contrib/postgis-1.5/ on some systems,
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
15 # /usr/share/postgresql/8.4/contrib/postgis-1.5/ on others
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
16 POST_INIT_DIR=`find /usr/share/postgresql/ -name spatial_ref_sys.sql | sed -n '1p'`
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
17 POST_INIT_DIR=`dirname $POST_INIT_DIR`
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
18 psql -d $1 -f $POST_INIT_DIR/postgis.sql
4ad2b530dbba Make postgresql-setup helper script work on different platforms.
Tom Gottfried <tom@intevation.de>
parents: 5838
diff changeset
19 psql -d $1 -f $POST_INIT_DIR/spatial_ref_sys.sql
5288
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
20 psql -d $1 -c "ALTER USER $1 WITH PASSWORD '$1';"
5284
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21 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;"
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
22
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
23 # add credentials to .pgpass (or create .pgpass)
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 echo "*:*:$1:$1:$1" >> ~/.pgpass
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25 chmod 0600 ~/.pgpass
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
27 # apply schema-scripts
5288
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
28 psql -d $1 -U $1 -h $3 -f $2/postgresql.sql
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
29 psql -d $1 -U $1 -h $3 -f $2/postgresql-spatial.sql
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
30 psql -d $1 -U $1 -h $3 -f $2/postgresql-minfo.sql

http://dive4elements.wald.intevation.org