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;
'개발 > DB' 카테고리의 다른 글
[Timescaledb] Materialized View로 통계 조회 속도 개선 방법 (0) | 2024.07.26 |
---|---|
[DB] Timescaledb에서 PK와 Unique index 차이점 (0) | 2024.07.16 |
[Postgresql] function return 값을 table로 보내기 (0) | 2024.07.03 |