티스토리 뷰
pg_cron
은 데이터베이스 내부에서 확장으로 실행되는 PostgreSQL(10이상)용 cron 기반의 스케줄러이다.
linux의 crontab과 동일한 구문을 사용하며 데이터베이스에서 직접 query 실행을 예약할 수 있다.
설치
# 사용하고 있는 postgresql 버전에 맞게 설치하자.
# 아래는 postgresql13 용 pg_cron을 설치하는 예시이다.
# Red Hat, CentOS, Fedora, Amazon Linux
$ sudo yum install -y pg_cron_13
# Debian, Ubuntu
$ sudo apt-get -y install postgresql-13-cron
postgresql.conf 설정
#postgresql.conf 파일에 아래의 설정을 추가 하자.
# postgresql 시작 시 pg_cron background worker를 로드한다.
shared_preload_libraries = 'pg_cron'
# pg_cron background worker가 실행되어야 하는 데이터베이스를 지정한다. (기본값: postgres)
cron.database_name = 'postgres'
# ----------------------------------------------------------------------------------------
# 아래 설정은 필수 요소는 아닌 듯 하니 필요에 따라 설정 한다.
# localhost 연결 대신 background worker를 통해 작업 예약
cron.use_background_workers = on
# 실행 가능한 background worker 수를 환경에 맞게 늘려준다. (기본값: 8)
max_worker_processes = 20
# 설정을 적용하기 위해서는 postgresql 재시작이 필요하다.
pg_cron 함수 및 메타데이터 테이블 생성
-- superuser로 실행
CREATE EXTENSION pg_cron;
-- 일반 사용자 사용 권한 부여 (선택사항)
GRANT USAGE ON SCHEMA cron TO marco;
자세한 설치 방법 및 사용 방법은 여기에서 확인할 수 있다.
'데이터베이스 > PostgreSQL' 카테고리의 다른 글
psql 명령어 몇가지... (2) | 2022.01.19 |
---|---|
[PostgreSQL 13] DB 백업 및 복구 (CentOS7) (0) | 2021.12.15 |
postgresql insert multi rows (bulk insert) (0) | 2021.09.12 |
Install PostgreSQL 9 on CentOS (0) | 2012.10.29 |
delete 에서 join 사용하기 (0) | 2012.10.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
Blog is powered by
Tistory / Designed by
Tistory