[개발] PostgreSQL는 스케쥴러가 없다고요?

GOMGun·2022년 5월 30일
0

pg_cron을 활용하세요!

그동안 DB하면 오라클!!을 외치며 개발해왔는데,
이번에 PostgreSQL로 개발을 하게 되었습니다.
오라클과 대부분 비슷하여 신나게 개발도 하고, 프로시져도 만들고 테스트까지 했는데,
어랏? 유저잡을 등록할 수 없네요?...
찾아보니 PostgreSQL는 스케쥴러가 따로 존재하지 않습니다..
그래서 보통 쉘로 만들어서 서버 측에 crontab으로 걸어서 수행을 한다고 합니다.
아니면 AWS에서 람다로 처리하는 방법도 있고요...
다양한 방법을 검토해봤는데, pg_cron이라는 데이터베이스 확장 모듈로 스케쥴링을 처리할 수 있다고 합니다. 추가적인 인증이나 런타임 제한도 없고.. 로그 관리도 편하게 된다고 해서 시도해보기로 했습니다.

그래서 pg_cron을 설치 후, 잡을 등록했습니다.
잡을 등록하는 것도 간단하게,
SELECT cron.schedule ('잡이름','/2 * * *'(인터벌이나 시간), 'call 내프로시져()');
하면 등록이 되고,
등록 후 잘 실행이 되는 것과 로그까지 쌓이는 걸 확인했습니다.
정말 편하네요.

인터벌이나 시간은 https://crontab.guru/
위 사이트에서 간단하게 테스트 해볼 수 있습니다.

별 내용은 없지만 그냥 나중에 제가 보고싶어서 기록으로 남깁니다 ㅎㅎ
그럼 이만 물러가겠습니다!

-출처
pg_cron을 사용하여 작업 예약

profile
곰군

0개의 댓글