-- 仅由新目标环境的管理员显式运行;不在应用启动或业务迁移中创建角色。 -- 登录认证由部署环境设置,本脚本不包含密码或其他凭据。 DO $$ DECLARE purpose_role text; BEGIN FOREACH purpose_role IN ARRAY ARRAY['muse_app', 'muse_eval', 'muse_maint'] LOOP IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = purpose_role) THEN EXECUTE format( 'CREATE ROLE %I LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOBYPASSRLS', purpose_role ); END IF; END LOOP; END $$;