pgagent 作为postgresql的一个任务调度管理器,在postgresql 9.0 以前 是附带在pgadmin 包下面的,只是默认不安装,9.0之后作为了一个单独的安装包。所以使用pgagent定时任务调度需要单独安装。
安装可以通过yum 方式和 源码编译安装,本文以编译安装为例进行说明。

一、环境及软件说明

该文档是根据Centos7.6上面的安装过程进行整理,首先安装postgresql 12.2数据库,然后安装cmake 和通用c 库 wxWidgets ,最后安装pgAgent。

1、postgresql 12.2
2、Centos 7.6
3、pgAgent 4.0 下载地址
4、cmake 3.16.4 下载地址
5、wxWidgets 3.1.3 下载地址

二、 编译安装

2.1 cmake 安装

  1. tar xvf cmake-3.16.4.tar.gz
  2. cd cmake-3.16.4
  3. ./bootstrap && gmake && gmake install

2.2 wxWidgets的安装

wxWidgets 依赖gtk依赖包,首先安装gtk

yum install gtk* -y
tar xjvf wxWidgets-3.1.3.tar.bz2
cd wxWidgets-3.1.3
./configure --enable-shared=no --enable-unicode=yes --prefix=/usr/local/wxWidgets-3.1.3
make && make install

# 设置环境变量
cat >>/etc/profile <<EOF
PATH=$PATH:$HOME/bin:/usr/local/wxWidgets-3.1.3/bin
export LD_LIBRARY_PATH=/usr/local/wxWidgets-3.1.3/lib:$LD_LIBRARY_PATH
EOF

2.3 pgAgent安装

前提需要安装好postgresql 并配置好 PGHOME PGDATA 以及PATH等环境变量,pgAgent安装时根据这些环境变量找到postgresql的 安装位置进行依赖编辑。

tar xvf pgAgent-4.0.0-Source.tar.gz
cd pgAgent-4.0.0-Source
cmkae ./
make && make install

三、安装后配置

以postgres用户登录postgresql创建扩展

create extension pgagent;

启动pgAgent
不要把密码写在命令行上,因为ps -ef |grep pgagent可以看到密码,所有用户都可以通过ps 查看到密码,非常的不安全 。可以将密码记录到.pgpass里面

su - postgres
pgagent  hostaddr=127.0.0.1  dbname=postgres user=postgres -s /data/pgsql/12/data/log/pgagent.log

四、 添加计划任务例子

通过pgAdmin 登录 ,全部图形界面操作,不再赘述。

附录1:概念简介

  • Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了
  • cmake 代表了新一代跨平台编译工具的一种方向。cmake是延续并改良传统 automake, autoconf 工具链,将之合为一体,但最终仍然生成 Makefile。
  • wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。一个支持OS/2的版本正在开发中。