-- 000__roles.sql -- Роли для принимающей БД fansy-store. -- Запускать первым, отдельно от структурных миграций. -- Пароли проставляются администратором БД через ALTER ROLE. DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'fansy_etl') THEN CREATE ROLE fansy_etl LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT; COMMENT ON ROLE fansy_etl IS 'Роль команды Fansy для ETL: INSERT/UPDATE/SELECT в схему fansy_staging. DDL-прав нет.'; END IF; IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'bj_reader') THEN CREATE ROLE bj_reader LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT; COMMENT ON ROLE bj_reader IS 'Роль сервисов Bridge-and-Join-s (m2m-core, lk-gateway) для чтения схемы fansy.'; END IF; IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'bj_migrator') THEN CREATE ROLE bj_migrator LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT; COMMENT ON ROLE bj_migrator IS 'Роль с DDL-правами для миграций. Только эта роль может CREATE/ALTER/DROP.'; END IF; END $$;