• PostgreSql pgAgent


    一、概述

    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
    
    • 1
    • 2

    二、安装

    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;
    
    • 1

    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 
    
    • 1

    2)搜索可用安装包

    yum search pgagent -y
    
    • 1

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

    yum install pgagent_13.x86_64 -y
    
    • 1

    4)创建扩展语言

    创建扩展语言

    create language plpgsql;
    
    • 1

    5)初始化数据库字典

    su - postgres
    psql
    
    • 1
    • 2
    \i /usr/local/share/pgagent.sql
    \dn
    
    • 1
    • 2

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

    三、配置

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

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

    --创建密码文件
    vi ~/.pgpass
    localhost:5432:postgres:postgres:postgres
    
    chmod 600 ~/.pgpass
    
    --启动守护进程
    pgagent_13 port=5432 dbname=postgres user=postgres
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.2 数据库中创建测试表

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

    3.3 客户端 pgAdmin 配置

    1)连入 pgAdmin

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2)创建 pgAgent 任务

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

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

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

    3)查看定时运行情况

    在这里插入图片描述
    在这里插入图片描述

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

    4)修改定时任务

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

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

    四、卸载

    4.1 客户端 pgAdmin 停止计划任务

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

    4.2 服务器端 kill 守护进程

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

    4.3 服务器端删除 schema,扩展

    drop schema pgagent cascade;
    drop extension plpgsql cascade;
    
    • 1
    • 2

    4.4 移除 yum 包

    yum remove -y  pgagent_13.x86_64
    
    • 1
  • 相关阅读:
    【hadoop】mapreduce面试题总结
    【leetcode】【剑指offer Ⅱ】035. 最小时间差
    1000套web前端期末大作业 HTML+CSS+JavaScript网页设计实例 企业网站制作【建议收藏】
    【Java】IO流 - 字节流
    SQLmap 结合本地dnslog实现注入
    一文搞懂Docker
    vue源码分析(三)——new Vue 的过程(详解data定义值后如何获取的过程)
    算法基础 动态规划 钢管问题
    人工智能科学计算库—Pandas教程
    血糖老控制不好,是不是因为以下的原因
  • 原文地址:https://blog.csdn.net/songyundong1993/article/details/126487942