Skip to content

Commit bfc1d4e

Browse files
committed
tabs
1 parent df7201f commit bfc1d4e

File tree

2 files changed

+32
-36
lines changed

2 files changed

+32
-36
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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

services/postgres/docker-entrypoints-initdb.d/create-readonly-user.sh

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)