init-user-db.sh 925 B

1234567891011121314151617181920212223
  1. #!/bin/bash
  2. set -e
  3. # Get the postgres user or set it to a default value
  4. if [ -n $POSTGRES_USER ]; then pg_user=$POSTGRES_USER; else pg_user="postgres"; fi
  5. # Get the postgres db or set it to a default value
  6. if [ -n $POSTGRES_DB ]; then pg_db=$POSTGRES_DB; else pg_db=$POSTGRES_USER; fi
  7. if [ -n "$POSTGRES_NON_ROOT_USER" ]; then
  8. psql -v ON_ERROR_STOP=1 --username "$pg_user" --dbname "$pg_db" <<-EOSQL
  9. GRANT CREATE ON SCHEMA public TO PUBLIC;
  10. CREATE USER $POSTGRES_NON_ROOT_USER with encrypted password '$POSTGRES_NON_ROOT_USER_PASSWORD';
  11. GRANT CREATE, CONNECT ON DATABASE $pg_db TO $POSTGRES_NON_ROOT_USER;
  12. ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, UPDATE, INSERT, DELETE, REFERENCES ON TABLES TO $POSTGRES_NON_ROOT_USER;
  13. EOSQL
  14. if [[ "$DESECSTACK_API_TEST" == "TRUE" ]]; then
  15. psql -v ON_ERROR_STOP=1 --username "$pg_user" <<-EOSQL
  16. ALTER USER $POSTGRES_NON_ROOT_USER CREATEDB;
  17. EOSQL
  18. fi
  19. fi