pgagent
A PostgreSQL job scheduler
pgagent : A PostgreSQL job scheduler
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 5880 | pgagent | pgagent | 4.2.3 |
ADMIN | PostgreSQL | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
| --s-d-- | No | Yes | No | Yes | no | no |
| Relationships | |
|---|---|
| See Also | pg_cron pg_task pg_dbms_job pg_dispatch pg_later pg_jobmon pg_background pg_durable |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PGDG | 4.2.3 |
18 17 16 15 14 | pgagent |
- |
| RPM | PGDG | 4.2.3 |
18 17 16 15 14 | pgagent_$v |
- |
| DEB | PGDG | 4.2.3 |
18 17 16 15 14 | pgagent |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| el8.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| el9.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| el9.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| el10.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| el10.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| d12.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| d12.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| d13.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| d13.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u22.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u22.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u24.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u24.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u26.x86_64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
| u26.aarch64 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 | PGDG 4.2.3 |
Source
Install
Make sure PGDG repo available:
Install this extension with pig:
Create this extension with:
Usage
pgAgent is a job scheduling agent for PostgreSQL, capable of running multi-step batch/shell scripts and SQL tasks on complex schedules. It runs as a daemon and stores job definitions in the database.
Core Concepts
- Job: A named schedulable unit containing one or more steps and schedules
- Step: An individual action (SQL script or OS batch/shell command) within a job
- Schedule: Defines when a job runs, with cron-like flexibility
Job Management via SQL
pgAgent stores its configuration in the pgagent schema. Jobs can be managed through pgAdmin or directly via SQL.
Step Types
| Kind | Description |
|---|---|
s |
SQL script executed against a database |
b |
Batch/shell command executed on the OS |
Schedule Fields
| Field | Description |
|---|---|
jscstart / jscend |
Valid date range for the schedule |
jscminutes |
Boolean array[60]: which minutes to run |
jschours |
Boolean array[24]: which hours to run |
jscweekdays |
Boolean array[7]: which days of week |
jscmonthdays |
Boolean array[32]: which days of month |
jscmonths |
Boolean array[12]: which months |
Security
The pgAgent daemon connects to the database using a stored connection string. Only database superusers or users granted appropriate privileges on the pgagent schema tables should manage jobs.