Выполнение удаленной процедуры по расписанию посредством pg_cron
Помогите разобраться как посредством pg_cron запускать удаленные процедуры через db_link ?
Ниже приведене код по созданию db_link, добавлению вызова процедуры в pg_cron, и проверки что процеда через db_link из pgAdmin под пользоватлем postgres выполняется корректно.
Когда же работает scheduler-р, то возвращается ошибка - status: failed, return_message: "connection failed"
Как исправить проблему и настроить pg_cron для запуска удаленной процедуры через dblink в postgres 15?
SELECT dblink_connect('dblink_dev', 'dbname=dev host=localhost user=fetcher password=password');
SELECT cron.schedule(
'schedule_delete_old_data',
'1,6,11,16,21,26,31,36,41,46,51,56 * * * *',
$$SET statement_timeout = '4min 30s'; PERFORM dblink_exec('dblink_dev', 'CALL market.delete_old_history_data()'); SET statement_timeout = '0';$$
);
SELECT dblink_exec('dblink_dev', 'CALL market.delete_old_history_data()');
Ниже вариант тоже не дал результата и вернул ту же ошибку.
SELECT cron.schedule(
'schedule_delete_old_ohlcv_data',
'1,6,11,16,21,26,31,36,41,46,51,56 * * * *',
$$SET statement_timeout = '4min 30s'; PERFORM dblink('dbname=dev host=localhost user=fetcher password=password', 'CALL market.delete_old_history_data()');SET statement_timeout = '0';$$);
Источник: Stack Overflow на русском