mirror of
https://github.com/davidallendj/opaal.git
synced 2025-12-20 03:27:02 -07:00
31 lines
No EOL
1.1 KiB
Bash
31 lines
No EOL
1.1 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Adapted from:
|
|
# https://github.com/mrts/docker-postgresql-multiple-databases/blob/master/create-multiple-postgresql-databases.sh
|
|
|
|
set -e
|
|
set -u
|
|
|
|
function create_user_and_database() {
|
|
local database=$1
|
|
local username=$2
|
|
local password=$3
|
|
echo " Creating user '$username' and database '$database'"
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
|
|
CREATE USER "$username" WITH PASSWORD '$password';
|
|
CREATE DATABASE "$database";
|
|
GRANT ALL PRIVILEGES ON DATABASE "$database" TO "$username";
|
|
EOSQL
|
|
}
|
|
|
|
if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then
|
|
echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES"
|
|
for dbstr in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do
|
|
dbname=$(echo $dbstr | cut -d: -f1)
|
|
username=$(echo $dbstr | cut -d: -f2)
|
|
password=$(echo $dbstr | cut -d: -f3)
|
|
echo "Creating: db=$dbname user=$username"
|
|
create_user_and_database $dbname $username $password
|
|
done
|
|
echo "Multiple databases created"
|
|
fi |