pgAgent 是 Postgres 数据库的作业调度代理,能够运行多步批处理或 shell 脚本以及复杂调度的 SQL 任务。在 pgAdmin v1.9 之前,pgAgent作为 pgAdmin 的一部分提供,从 pgAdmin v1.9 开始,pgAgent作为单独的应用程序提供。
pgAgent 在 Unix 系统上作为守护进程运行,在 Windows 系统上作为服务运行。在大多数情况下,它将在数据库服务器上运行。
详细介绍可参考官网:https://www.pgadmin.org/docs/pgadmin4/6.12/pgagent.html
环境
数据库服务器:Cenos7+PG13+pgAgent
客户端服务器:Win10+pgAdmin4
pgAdmin 安装包下载
Windows 图形化界面安装,在此不再赘述。
pgAdmin 详情介绍可参考官网:https://www.pgadmin.org/docs/pgadmin4/development/index.html
数据库安装可参考:Postgresql 13 安装,在此不再赘述。
源码安装时,当 PostgreSQL 版本高于9.1, pgAgent 版本高于v 3.4.0,即可以扩展形式进行安装,即源码编译安装完成后,使用下列语句创建扩展即可:
create extension pgagent;
rpm 安装及yum 安装均需要使用sql脚本初始化字典数据,生成名为 pgagent 的 schema,源码创建完扩展后会自动生成该 schema。源码安装对系统环境要求较高,可能需要更新 cmake、wxGTK、boost 等系统组件版本,耗时较长,建议优先选择 yum 或 rpm 安装。
pgAgent 采用 yum 安装方式,外网不通可选择 rpm 包下载 安装,安装完成后配置同下。
rpm -ivh pgdg-redhat-repo-latest.noarch.rpm
yum search pgagent -y
yum install pgagent_13.x86_64 -y
创建扩展语言
create language plpgsql;
su - postgres
psql
\i /usr/local/share/pgagent.sql
\dn
出现 pgagent 模式说明字典初始化完成。
因守护进程通过 ps 命令可查询到相关命令,显示的数据库密码存在安全隐患,建议将密码写入密码文件中调用
--创建密码文件
vi ~/.pgpass
localhost:5432:postgres:postgres:postgres
chmod 600 ~/.pgpass
--启动守护进程
pgagent_13 port=5432 dbname=postgres user=postgres
create table t1(id int,name varchar);
select * from t1;






host=192.168.100.115 port=5432 dbname=postgres connect_timeout=10 password=postgres

insert into t1 values(1,'a');



设置完成上述配置后,点击右下角保存即可。


上述统计信息可查询运行次数及起始时间。
属性进入编辑页面步骤同创建时一样,可自行修改。


上述选项可控制定时任务启停。
上述修改定时任务中,选择停止后保存即可。
kill -9 `ps -ef|grep pgagent|grep -v grep|awk '{print $2}'`
drop schema pgagent cascade;
drop extension plpgsql cascade;
yum remove -y pgagent_13.x86_64