view backend/doc/schema/postgresql-setup.sh @ 9790:75dc4ea60938 3.2.x

Drop using explicit container names Compose will generate names for the containers and containers can connect each other on the network via the service names. This avoids the unnecessary extra "name space" and prepares the application for usage with different project names.
author Tom Gottfried <tom@intevation.de>
date Thu, 20 Jul 2023 10:25:59 +0200
parents 358a0fd48a00
children f89fb9e9abad
line wrap: on
line source
#!/bin/bash

# $1: name, user and password for new DB (optional. Default: d4e)
# $2: host (optional. Default: localhost)

SCRIPT_DIR=`dirname $0`
DB_NAME=${1:-d4e}
PG_HOST=${2:-localhost}

# 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 $DB_NAME
createdb $DB_NAME

psql -d $DB_NAME -c "ALTER USER $DB_NAME WITH PASSWORD '$DB_NAME';"

psql -d $DB_NAME -c "CREATE EXTENSION postgis;"
psql -d $DB_NAME -c "GRANT ALL ON geometry_columns TO $DB_NAME;
                     GRANT ALL ON geography_columns TO $DB_NAME;
                     GRANT ALL ON spatial_ref_sys TO $DB_NAME;"

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

# apply schema-scripts
psql -d $DB_NAME -U $DB_NAME -h $PG_HOST -f $SCRIPT_DIR/postgresql.sql
psql -d $DB_NAME -U $DB_NAME -h $PG_HOST -f $SCRIPT_DIR/postgresql-spatial.sql
psql -d $DB_NAME -U $DB_NAME -h $PG_HOST -f $SCRIPT_DIR/postgresql-minfo.sql

http://dive4elements.wald.intevation.org