create-multiple-postgresql-databases.sh 590 B

123456789101112131415161718192021
  1. #!/bin/bash
  2. set -e
  3. set -u
  4. function create_database() {
  5. local database=$1
  6. echo " Creating database '$database' for user '$POSTGRES_USER'"
  7. psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "postgres" <<-EOSQL
  8. CREATE DATABASE "$database";
  9. GRANT ALL PRIVILEGES ON DATABASE "$database" TO "$POSTGRES_USER";
  10. EOSQL
  11. }
  12. if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then
  13. echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES"
  14. for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do
  15. create_database $db
  16. done
  17. echo "Multiple databases created"
  18. fi