Выполнение удаленной процедуры по расписанию посредством pg_cron

Рейтинг: 0Ответов: 0Опубликовано: 04.07.2023

Помогите разобраться как посредством 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';$$);

Ответы

Ответов пока нет.