-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup-database.sql
More file actions
23 lines (20 loc) · 814 Bytes
/
Copy pathsetup-database.sql
File metadata and controls
23 lines (20 loc) · 814 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- Create user if not exists
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_user WHERE usename = 'iamuser') THEN
CREATE USER iamuser WITH PASSWORD 'iampassword';
END IF;
END
$$;
-- Create database if not exists
SELECT 'CREATE DATABASE iamdb OWNER iamuser'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'iamdb')\gexec
-- Grant privileges
GRANT ALL PRIVILEGES ON DATABASE iamdb TO iamuser;
-- Connect to the new database and grant schema privileges
\c iamdb
GRANT ALL ON SCHEMA public TO iamuser;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO iamuser;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO iamuser;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO iamuser;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO iamuser;