XML не позволяет использовать <
или >
внутри значения тега, если вы не заключите содержимое этого тега в раздел CDATA
:
<createProcedure>
<![CDATA[
CREATE OR REPLACE FUNCTION function(dateFrom timestamp, dateTo timestamp )
RETURNS TABLE
LANGUAGE plpgsql
AS $$
BEGIN
SELECT * FROM
ORDER BY date DESC
WHERE date >= $2 AND date < $3
RETURN QUERY;
END;
$$;
]]>
</createProcedure>
Не связанный с вопросом Liquibase: функции, заключающие в себе простые запросы SQL, лучше определить как функции SQL, чтобы избежать издержек PL / pgSQL:
<createProcedure>
<![CDATA[
CREATE OR REPLACE FUNCTION function(dateFrom timestamp, dateTo timestamp )
RETURNS TABLE (...)
LANGUAGE sql
AS $$
SELECT *
FROM ...
WHERE date >= $2
AND date < $3
ORDER BY date DESC
$$;
]]>
</createProcedure>