About
home
Tmax OpenSQL
home
💻

41. pg_Agent

작성자
CJH
pgAgent 는 작업을 실행하고 관리하는 스케줄링 에이전트입니다.
각 작업은 하나 이상의 단계와 일정으로 구성됩니다.
두 개 이상의 작업이 동시에 실행되도록 예약된 경우 pg_agent 는 작업을 병렬로 실행합니다.
수행 내용은 SQL 문 또는 운영 체제 배치 또는 쉘 스크립트일 수 있습니다.

Install

1.
PostgreSQL v14.2 설치
2.
pgAgent 패키지 설치
yum -y install pgagent_14
SQL
복사
3.
PostgreSQL 서버 기동
pg_ctl start
SQL
복사
4.
pgAgent Extension 생성
postgres=# CREATE EXTENSION pgagent; CREATE EXTENSION
SQL
복사
5.
pgAgent 테스트 롤 생성
CREATE USER "pgagent_user" WITH LOGIN SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION encrypted password 'pgagent'; GRANT USAGE ON SCHEMA pgagent TO pgagent_user; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA pgagent TO pgagent_user; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA pgagent TO pgagent_user;
SQL
복사
6.
pgAdmin 접속
접속은 pgAdmin 을 참고
SQL
복사

작업 추가 예시

1.
pgAgent Jobs 하위 폴더 확인
2.
pgAgent Jobs 우클릭 → Create → pgAgent Job …
3.
General Tab
NAME : 작업 이름을 입력합니다.
Enabled : 스위치를 YES / NO 로 이동 하여 작업을 활성화 및 비활성화 합니다.
Job Class : 작업 분류용 클래스를 선택합니다.
Host Agent : 필드를 사용하여 pgAgent를 실행하는 시스템의 이름을 지정하여 해당 시스템만 작업을 실행할 수 있음을 나타냅니다. 모든 서버가 작업을 수행할 수 있도록 지정하려면 필드를 비워 둡니다.
4.
Steps Tab (General)
작업이 수행할 단계를 정의하고 관리합니다.
NAME : Step 의 이름을 입력합니다.
Enabled : 스위치를 이동 하여 작업을 실행할 때 Step 을 포함하거나 미포함 합니다.
Kind : 스위치를 이동 하여 작업을 실행할 때 SQL 코드 또는 배치 스크립트 호출 여부를 나타냅니다.
SQL 을 선택하는 경우 Code Tab 을 사용하여 각 Step 에 대한 SQL 코드 작성
Batch 를 선택하는 경우 Code Tab 을 사용하여 각 Step 에 실행될 배치 스크립트 작성
Connection Type : 스위치를 사용 하여 단계가 Local 서버 또는 Remote 호스트에서 수행되는지 여부를 나타냅니다.
Step 에 Remote 연결을 사용하도록 지정하면 Connection string 필드가 활성화되고 libpq 형식 커넥션 정보를 작성해야 합니다.
Database : Step 이 수행될 데이터베이스를 선택합니다.
Connection string : 필드를 사용 하여 단계가 수행될 원격 서버에 대한 libpq libpq 형식 커넥션 정보를 지정합니다.
On Error : Step 을 실행하는 동안 오류가 발생하는 경우 pgAgent의 동작을 지정합니다.
Fail : 해당 Step 을 수행하는 동안 오류가 발생하면 작업을 중지합니다.
Success : Step 을 성공적으로 완료한 것으로 표시합니다.
Ignore : 오류를 무시하고 계속합니다.
5.
Steps Tab ( Code )
Steps( Code ) 탭을 사용하여 상황에 맞는 필드를 사용하여 Step 중에 실행될 SQL 코드 또는 배치 스크립트를 작성해야 합니다.
Step 에서 SQL 코드를 호출하는 경우 SQL 쿼리 필드에 하나 이상의 SQL 문을 작성합니다.
Step 에서 배치 스크립트를 수행하는 경우 필드에 스크립트를 작성합니다.
Windows 서버에서 실행 중인 경우 표준 배치 파일 구문을 사용해야 합니다. Linux 서버에서 실행할 때 적절한 인터프리터가 첫 번째 줄(예: #!/bin/sh )에 지정되어 있으면 모든 셸 스크립트를 사용할 수 있습니다.
6.
Schedules ( General )
NAME : 필드에 스케줄 이름을 입력합니다.
Enabled : 스위치를 사용 하여 pgAgent가 스케줄을 활성하거나 비활성화 함을 나타냅니다.
Start : 달력을 선택하여 스케줄의 시작 날짜와 시간을 지정합니다.
End : 달력을 선택하여 스케줄의 종료 날짜와 시간을 지정합니다.
7.
Schedules ( Repeat )
Repeat Tab 을 적용하여 cron 형식으로 스케쥴에 대한 수행 규칙을 지정합니다.
8.
Schedules ( Exceptions )
Exceptions Tab 을 작성하여 스케줄 동작 시간 중 작업을 실행하지 않을 요일과 시간을 지정합니다.
9.
SQL Tab
앞서 적용한 옵션들의 결과 SQL 을 보여줍니다.
지금까지 ‘PostgreSQL의 pg_Agent’에 관해 알아보았습니다
‘PostgreSQL의 pgAdmin4’을 바로 이어서 확인해보세요!

자유롭게 댓글을 남겨주세요