使用Postgresql自带的pgAgent,可以很方便地创建定时执行任务。现在网上的资料都比较旧,Postgresql版本更新得比较快,导致网上的一些教程都不合用了,现在我写分享一下自己的经验。

Postgresql的版本是 9.X

1.安装pgAgent。pgAgent在以前旧的版本是pgAdmin自带的,但新版本的pgAgent是需要通过Postgresql自带的Application Stack Builder这个软件来安装的。具体流程如下:

*在这里要填写Postgresql的postgres的用户名密码,或者具有操作postgres这个数据库权限的用户账号。因为pgAgent需要在postgres这个数据库里面创建相应的表,所以这里填写的用户必须需要有操作postgres这个数据库的权限,在这里就用最大权限的postgres用户。

*在这里是埴写执行pgAgent的windows用户账号,如果是域用户,请填写完整的域用户名和密码。因为pgAgent会在windows的服务里面添加一个叫“PostgreSQL Scheduling Agent - pgAgent”的服务,而这个服务需要登录后才能运行,所以这里填写的账号必须是当前widnows可以登录的账号。

来到这里,就表示pgAgent已经成功安装了。可以到windows的服务里面看一下pgAgent的服务添加没有,是否在运行:

2.创建Job. 当成功安装pgAgent,并且pgAgent已经在正常运行后,接下来的任务就是创建定时执行任务。Postgresql的定时任务的概念分为两个部分:Schedule和Step。 Schedule是定时器,配置这个Job什么时候执行。而Step是执行任务的内容。通过这两部分结合,就可以配置这个Job什么时候做什么。一个Job可以有多个Schedule和多个Step,他们是叠加的作用。

具体操作如下:

新建一个Job,命名为Job1,设置Job Class为Routine Maintenance,并且勾选前面的Enabled。

为job1添加Schedule,命名为schedule1,勾选Enabled,然后设置开始和结束时间。如果结束时间不填,就表示这个Job会无止境地运行下去。然后在Times这个Tab的Minutes部分,勾选 00 和 30 ,这里表示这个job1会在每个小时的整点(00),和半点(30)执行。也就是每隔30分钟执行一次。如果只勾选 30, 就表示每个小时的30分钟执行,例如 4:30,5:30,这就是每隔一个小时执行一次了。其它的Hours,Week Days,Month Days,Months的概念是相同的。

另外Exceptions Tab是例外的情况,就是当这种情况的时候就不会执行这个Job。

然后就是为job1添加执行的内容。现在添加一个Step,命名为step1。勾选Enabled。然后选择需要执行这个job的数据库。另外还需要注意Kind部分和On Error部分。Kind部分是指明执行这个job是SQL还是batch类型。job除了可以运行SQL,还可以运行windows的batch命令。在这个例子中我们选用SQL。在On Error部分,表示当执行这个job出现错误的时候,是停止(Fail),是正常(Succeed),还是忽略(Ignore)。现在这个例子选用Fail,就表示当执行的内容一出错,就停止运行,退出。

现在就是定义job1需要执行的SQL,一般建议把这些SQL写在一个事务中,这样就算job1运行失败,都不会影响到数据。

到这一步,job1就基本创建完成了。

现在要监视job1的运行状态,可以通过pgAdmin,在job1的Properties Tab,可以看到job1下次运行的时间,上次运行的时间,结果,当前是否在运行。还可以通过 Statistics Tab,查看job1运行的次数。

好了,到这里,如何用pgAgent创建定时任务的介绍就完了。以后再有更深入的探讨,再给大家介绍

利用pgAgent创建定时任务的更多相关文章

  1. 利用Spring创建定时任务

    啊Spring Task看似很简单的感觉,但是自己搞起来还是花了蛮大的精力的,因为以前没接触过这个东西,所有当任务交给我的时候,我是一头的雾水的.然后我就各种查资料.其中我印象最深的是版本的问题和架包 ...

  2. 使用Quartz创建定时任务

    项目开发中经常需要定时循环执行某些任务 比如定时发送报表,定时发送邮件,亦或者定时清理缓存,定时更新数据等等 有些时候可以简单地利用Windows Server的计划任务执行程序 Linux也有相应的 ...

  3. Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...

  4. 利用Oracle创建表空间和用户

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6217152.html 第一步,创建表空间 以SYS/sys账户和SYSDBA身份登录 ...

  5. 利用Oracle创建数据库

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6217151.html 数据库的创建 打开"所有程序"-" ...

  6. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  7. java中利用JFrame创建窗体 【转】

    1. 一个简单的swing public class Test(){ public static void main(String[] args){ JFrame frame = new JFrame ...

  8. IOS:利用dispatch_once创建单例

    在之前有一篇学习笔记中,记载了一篇如何在OC中实现单例的文章:<IOS学习笔记4—Objective C—创建单例>自苹果引入了Grand Central Dispatch (GCD)(M ...

  9. 利用WPF创建含多种交互特性的无边框窗体

    咳咳,标题一口气读下来确实有点累,让我先解释一下.另外文章底部有演示程序的下载. 本文介绍利用WPF创建一个含有以下特性的窗口: 有窗口阴影,比如QQ窗口外围只有几像素的阴影: 支持透明且无边框,为了 ...

随机推荐

  1. 使nginx支持pathinfo模式

    在将fastadmin部署到虚拟机中时,遇到如下问题:当访问登录页面时,页面进行不断的循环跳转重定向.解决方法是将nginx配置为支持pathinfo的模式 以下是nginx中的配置内容: locat ...

  2. C# 利用特性(Attribute)实现通用实体类数据合法校验

    用过asp.net mvc 的都应该知道,在实体类上添加一些特性,可以实现后端实体的数据校验,这里简单实现一下 实现原理:利用反射获取实体的每一个属性,并通过属性获取属性上标注的特性,调用特性的Val ...

  3. ssh修改端口

    安装防火墙 sudo yum -y install firewald sudo systemctl start firewald.service sudo firewall-cmd --list-al ...

  4. 微信支付接口--支付成功的回调--超详细Demo

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 如果对你有帮助的话麻烦点个[推荐]~最好还可以follow一下我的GitHub~感谢观看! 写 ...

  5. 在Linux主机使用命令行批量删除harbor镜像

     在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...

  6. Computer Vision_33_SIFT:Fast Adaptive Bilateral Filtering——2018

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  7. SQL SERVER-修改TempDB路径

    --查看tempdb文件信息 use tempdb go sp_helpfile go --修改路径 use master go Alter database tempdb modify file ( ...

  8. Graphviz install the Windows for Scyther

    1.在Pycharm 中使用Scyther工具的时候需要导入 graphviz 直接在 Interpreter 上安装的售后会报错,如果在 IDE上无法支架安装的库可以试图在控制台上安装,控制台上无法 ...

  9. Linux系统下RAID5和RAID10的磁盘阵列配置

    前提了解:1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏 ...

  10. [MySQL] 行级锁SELECT ... LOCK IN SHARE MODE 和 SELECT ... FOR UPDATE

    一.译文 翻译来自官方文档:Locking Reads If you query data and then insert or update related data within the same ...