File tree Expand file tree Collapse file tree 2 files changed +32
-36
lines changed
docker-entrypoint-initdb.d
docker-entrypoints-initdb.d Expand file tree Collapse file tree 2 files changed +32
-36
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -e
3+
4+ #
5+ # This script are ONLY run if you start the container with a data directory that is EMPTY (i.e. first time)
6+ #
7+ # SEE https://github.com/docker-library/docs/blob/master/postgres/README.md#initialization-scripts
8+ #
9+
10+ # NOTE: POSTGRES_READONLY_USER and POSTGRES_READONLY_PASSWORD are optional
11+ if [[ -z " ${POSTGRES_READONLY_USER} " || -z " ${POSTGRES_READONLY_PASSWORD} " ]]; then
12+ echo " Skipping read-only user creation because POSTGRES_READONLY_USER or POSTGRES_READONLY_PASSWORD is not set."
13+ exit 0
14+ fi
15+
16+ # Variables from environment
17+ readonly_user=${POSTGRES_READONLY_USER}
18+ readonly_password=${POSTGRES_READONLY_PASSWORD}
19+ database=${POSTGRES_DB}
20+ schema=${SCHEMA:- public}
21+
22+ # Create the read-only user and assign permissions
23+ echo " Creating read-only user: $readonly_user for $database .$schema ..."
24+ # NOTE: tabs only on <<
25+ psql -v ON_ERROR_STOP=1 --username " $POSTGRES_USER " --dbname " $database " << -EOSQL
26+ CREATE USER $readonly_user WITH PASSWORD '$readonly_password ';
27+ GRANT CONNECT ON DATABASE $database TO $readonly_user ;
28+ GRANT USAGE ON SCHEMA $schema TO $readonly_user ;
29+ GRANT SELECT ON ALL TABLES IN SCHEMA $schema TO $readonly_user ;
30+ GRANT SELECT ON ALL SEQUENCES IN SCHEMA $schema TO $readonly_user ;
31+ ALTER DEFAULT PRIVILEGES IN SCHEMA $schema GRANT SELECT ON TABLES TO $readonly_user ;
32+ EOSQL
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments