В вашем запросе «ВОЗВРАТ ЗАПРОС ВЫБОР транзакции.can,« отметка времени »как« Время транзакции »ОТ транзакции» вы хотите указывать метку времени столбца, но, поместив ее в одинарные кавычки ('), вы указали Postgres, что хотите строка timestamp, которая не соответствует определению возвращаемой таблицы. Просто бросьте одинарные кавычки. Я не совсем уверен, что он сделал со «Time of Transaction», поскольку это тоже строка, но что бы она ни была пропущена в пользу определения вывода.
create or replace function list_assistant_transactions(_assistant varchar(64))
returns table (can varchar(32), "timestamp" timestamp) as
$$
select transaction.can, timestamp
from transaction
where assistant = _assistant;
$$ language sql;
Предполагается, что отметка времени - это имя столбца в таблице транзакций. Кстати, если это очень плохая практика, называйте столбец так же, как тип данных. Если в таблице DDL указана двойная кавычка, то и в запросе это тоже нужно.