annotate flys-backend/doc/schema/postgresql-setup.sh @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents b0f14ff573d7
children
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
5288
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
14 # Appears e.g. as /usr/share/postgresql/contrib/postgis-1.5/ on other systems.
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
15 psql -d $1 -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
16 psql -d $1 -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql
b0f14ff573d7 postgresql-setup.sh: Introduced third (host) parameter, fixed alter user statement
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5287
diff changeset
17 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
18 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
19
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20 # add credentials to .pgpass (or create .pgpass)
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21 echo "*:*:$1:$1:$1" >> ~/.pgpass
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
22 chmod 0600 ~/.pgpass
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
23
4e79267c3af8 added script to setup postgres-DB for testing
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 # 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
25 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
26 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
27 psql -d $1 -U $1 -h $3 -f $2/postgresql-minfo.sql

http://dive4elements.wald.intevation.org