我需要获取当前数据库并将其传递给用户创建的查询,以便使用当前数据库在组中创建用户。
CREATE OR REPLACE FUNCTION public.create_dbuser(
v_username NAME,
v_password TEXT)
RETURNS smallint AS
$BODY$
DECLARE
BEGIN
EXECUTE FORMAT('CREATE ROLE "%I" IN GROUP “%I”_group LOGIN
PASSWORD ''%I''', v_username, current_database(), v_password);
RETURN 1;
-- Simple Exception
EXCEPTION
WHEN others THEN
RETURN 0;
END;
$BODY$
LANGUAGE plpgsql STRICT VOLATILE SECURITY DEFINER
COST 100;