22 lines
780 B
Bash
22 lines
780 B
Bash
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
sleep 20
|
||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||
|
DO
|
||
|
\$block\$
|
||
|
BEGIN
|
||
|
IF EXISTS (
|
||
|
SELECT FROM pg_catalog.pg_roles WHERE rolname = '${ZBX_DB_USERNAME_RO}'
|
||
|
)
|
||
|
THEN
|
||
|
RAISE NOTICE 'Role ''${ZBX_DB_USERNAME_RO}'' already exists. Skipping ...';
|
||
|
ELSE
|
||
|
CREATE ROLE "${ZBX_DB_USERNAME_RO}" WITH PASSWORD '${ZBX_DB_USERNAME_PW}';
|
||
|
GRANT CONNECT ON DATABASE "${POSTGRES_DB}" TO "${ZBX_DB_USERNAME_RO}";
|
||
|
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "${ZBX_DB_USERNAME_RO}";
|
||
|
END IF;
|
||
|
END
|
||
|
\$block\$;
|
||
|
EOSQL
|