17 lines
599 B
SQL
17 lines
599 B
SQL
-- 仅由新目标环境的管理员显式运行;不在应用启动或业务迁移中创建角色。
|
|
-- 登录认证由部署环境设置,本脚本不包含密码或其他凭据。
|
|
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
|
|
$$;
|