Будучи совершенно новым для PL/pgSQL, в чем смысл знаков двойного доллара в этой функции:
CREATE OR REPLACE FUNCTION check_phone_number(text)
RETURNS boolean AS $$
BEGIN
IF NOT $1 ~ e'^\\+\\d{3}\\ \\d{3} \\d{3} \\d{3}$' THEN
RAISE EXCEPTION 'Wrong formated string "%". Expected format is +999 999';
END IF;
RETURN true;
END;
$$ LANGUAGE plpgsql STRICT IMMUTABLE;
Я предполагаю, что в RETURNS boolean AS $$
, $$
является заполнителем.
Последняя строка немного загадка: $$ LANGUAGE plpgsql STRICT IMMUTABLE;
Кстати, что означает последняя строка?