相关文章推荐

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

2.1 客户端安装

pgAdmin 安装包下载
Windows 图形化界面安装,在此不再赘述。
pgAdmin 详情介绍可参考官网:https://www.pgadmin.org/docs/pgadmin4/development/index.html

2.2 服务器端安装

数据库安装可参考: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 包下载 安装,安装完成后配置同下。

1)配置 yum 源

yum 源 rpm 包下载

rpm -ivh pgdg-redhat-repo-latest.noarch.rpm 

2)搜索可用安装包

yum search pgagent -y

3)安装与数据库版本一致的安装包

yum install pgagent_13.x86_64 -y

4)创建扩展语言

创建扩展语言

create language plpgsql;

5)初始化数据库字典

su - postgres
\i /usr/local/share/pgagent.sql

出现 pgagent 模式说明字典初始化完成。

3.1 服务器端启动 pgAgent 守护进程

因守护进程通过 ps 命令可查询到相关命令,显示的数据库密码存在安全隐患,建议将密码写入密码文件中调用

--创建密码文件
vi ~/.pgpass
localhost:5432:postgres:postgres:postgres
chmod 600 ~/.pgpass
--启动守护进程
pgagent_13 port=5432 dbname=postgres user=postgres

3.2 数据库中创建测试表

create table t1(id int,name varchar); 
select * from t1;

3.3 客户端 pgAdmin 配置

1)连入 pgAdmin

2)创建 pgAgent 任务

host=192.168.100.115 port=5432 dbname=postgres connect_timeout=10 password=postgres
insert into t1 values(1,'a');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完成上述配置后,点击右下角保存即可。

3)查看定时运行情况

上述统计信息可查询运行次数及起始时间。

4)修改定时任务

属性进入编辑页面步骤同创建时一样,可自行修改。
在这里插入图片描述
在这里插入图片描述

上述选项可控制定时任务启停。

4.1 客户端 pgAdmin 停止计划任务

上述修改定时任务中,选择停止后保存即可。

4.2 服务器端 kill 守护进程

kill -9 `ps -ef|grep pgagent|grep -v grep|awk '{print $2}'`

4.3 服务器端删除 schema,扩展

drop schema pgagent cascade;
drop extension plpgsql cascade;

4.4 移除 yum 包

yum remove -y  pgagent_13.x86_64
                    pgAgent 是 Postgres 数据库的作业调度代理,能够运行多步批处理或 shell 脚本以及复杂调度的 SQL 任务。在 pgAdmin v1.9 之前,pgAgent作为 pgAdmin 的一部分提供,从 pgAdmin v1.9 开始,pgAgent作为单独的应用程序提供。pgAgent 在 Unix 系统上作为守护进程运行,在 Windows 系统上作为服务运行。在大多数情况下,它将在数据库服务器上运行。...
 
推荐文章