Каков наилучший способ отследить ход выполнения длительно выполняющейся функции в PostgreSQL 11?
Поскольку каждая функция выполняется в одной транзакции, даже если функция записывает в какую-либо таблицу «log» никакой другой сеанс/ транзакция может видеть этот вывод, если функция не завершается с SUCCESS.
Я читал о некоторых попытках здесь, но они относятся к 2010 году.
https://www.endpoint.com/blog/2010/04/28/viewing-postgres-function-progress-from
Кроме того, этот подход выглядит крайне неудобным.
На сегодняшний деньКаков наилучший способ отслеживать прогресс?
Один из известных мне подходов состоит в том, чтобы превратить функцию в процедуру, а затем выполнить частичные коммиты в SP.Но что, если я хочу вернуть какой-то набор результатов из функции ... В этом случае я не могу превратить его в SP, верно?Итак ... как поступить в таком случае?
Заранее большое спасибо.
ПРИМЕЧАНИЕ. Функция написана на PL / pgSQL, самом распространенном процедурном языке SQL, доступном в PostgreSQL.