21 lines
611 B
SQL
21 lines
611 B
SQL
\set ON_ERROR_STOP on
|
|
|
|
SELECT format('CREATE ROLE %I LOGIN PASSWORD %L', :'app_user', :'app_password')
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM pg_catalog.pg_roles
|
|
WHERE rolname = :'app_user'
|
|
)\gexec
|
|
|
|
SELECT format('ALTER ROLE %I WITH LOGIN PASSWORD %L', :'app_user', :'app_password')\gexec
|
|
|
|
SELECT format('CREATE DATABASE %I OWNER %I', :'app_db', :'app_user')
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM pg_database
|
|
WHERE datname = :'app_db'
|
|
)\gexec
|
|
|
|
SELECT format('ALTER DATABASE %I OWNER TO %I', :'app_db', :'app_user')\gexec
|
|
SELECT format('GRANT ALL PRIVILEGES ON DATABASE %I TO %I', :'app_db', :'app_user')\gexec
|