File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
services/postgres/docker-entrypoints-initdb.d Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -e
3+
4+ # Check if POSTGRES_READONLY_USER and POSTGRES_READONLY_PASSWORD are defined
5+ if [[ -z " ${POSTGRES_READONLY_USER} " || -z " ${POSTGRES_READONLY_PASSWORD} " ]]; then
6+ echo " Skipping read-only user creation because POSTGRES_READONLY_USER or POSTGRES_READONLY_PASSWORD is not set."
7+ exit 0
8+ fi
9+
10+ # Variables from environment
11+ readonly_user=${POSTGRES_READONLY_USER}
12+ readonly_password=${POSTGRES_READONLY_PASSWORD}
13+ database=${POSTGRES_DB}
14+ schema=${SCHEMA:- public}
15+
16+ echo " Creating read-only user: $readonly_user "
17+
18+ # Create the read-only user and assign permissions
19+ psql -v ON_ERROR_STOP=1 --username " $POSTGRES_USER " --dbname " $database " << -EOSQL
20+ CREATE USER $readonly_user WITH PASSWORD '$readonly_password ';
21+ GRANT CONNECT ON DATABASE $database TO $readonly_user ;
22+ GRANT USAGE ON SCHEMA $schema TO $readonly_user ;
23+ GRANT SELECT ON ALL TABLES IN SCHEMA $schema TO $readonly_user ;
24+ GRANT SELECT ON ALL SEQUENCES IN SCHEMA $schema TO $readonly_user ;
25+ ALTER DEFAULT PRIVILEGES IN SCHEMA $schema GRANT SELECT ON TABLES TO $readonly_user ;
26+ EOSQL
You can’t perform that action at this time.
0 commit comments