-- Todo Project 데이터베이스 초기화 -- 사용자 및 데이터베이스 생성 -- 데이터베이스가 존재하지 않으면 생성 SELECT 'CREATE DATABASE todo_db' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'todo_db')\gexec -- 사용자가 존재하지 않으면 생성 DO $do$ BEGIN IF NOT EXISTS ( SELECT FROM pg_catalog.pg_roles WHERE rolname = 'todo_user') THEN CREATE ROLE todo_user LOGIN PASSWORD 'todo_password'; END IF; END $do$; -- 권한 부여 GRANT ALL PRIVILEGES ON DATABASE todo_db TO todo_user; -- todo_db에 연결 \c todo_db -- 스키마 권한 부여 GRANT ALL ON SCHEMA public TO todo_user; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO todo_user; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO todo_user; -- 기본 권한 설정 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO todo_user; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO todo_user;