개발/DB
[Timescaledb] Function, Procedure Job 스케줄러 등록 및 확인 방법
Gamii
2024. 7. 3. 20:22
728x90
1. Function, Procedure 생성시 파라미터로 반드시 job_id int, config jsonb 추가해준다.
CREATE OR REPLACE PROCEDURE public.test_procedure(job_id int, config jsonb)
LANGUAGE plpgsql
AS $function$
declare
begin
insert into user_access(id, name, time)
select id, name, now()
from user_info;
END;$function$
;
2. job을 추가해준다.
select add_job( function/procedure 이름, schedule_interval => 스케줄러 주기, initial_start => 시작시간);
select add_job('test_procedure', schedule_interval => interval '10 sec', initial_start => now());
위에 나온 1007은 job의 id이다.
3. job 관련 정보 확인 쿼리
-- public에 등록된 job 정보 보기
select *
from timescaledb_information.jobs
where proc_schema = 'public';
-- public에 등록된 job 통계 정보 보기(실행 횟수, 성공 횟수, 실패 횟수 등)
select *
from timescaledb_information.job_stats js ;
-- job 삭제 - delete_job(job_id)
-- 1007번 job 삭제
select delete_job(1007);
-- job 에러 조회
select *
from timescaledb_information.job_errors
order by start_time desc;