Skip to content

Commit 4d2bd08

Browse files
committed
adds ro user sh
1 parent bb72bea commit 4d2bd08

File tree

1 file changed

+26
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)