CREATE OR REPLACE FUNCTION APS.fn_RusToLatin(
    p_Str TEXT
)
    RETURNS TEXT
    LANGUAGE plpgsql
AS
$$
BEGIN

    RETURN (
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(
        REPLACE(p_Str, 'А', 'A')
            , 'а', 'a')
            , 'В', 'B')
            , 'с', 'c')
            , 'С', 'C')
            , 'Е', 'E')
            , 'е', 'e')
            , 'Н', 'H')
            , 'К', 'K')
            , 'к', 'k')
            , 'М', 'M')
            , 'п', 'n')
            , 'О', 'O')
            , 'о', 'o')
            , 'т', 'm')
            , 'Р', 'P')
            , 'р', 'p')
            , 'Т', 'T')
            , 'и', 'u')
            , 'Х', 'X')
            , 'х', 'x')
            , 'у', 'y')
            ::TEXT
        );

END;
$$