成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PostgreSQL實(shí)現(xiàn)job神器pg_cron

IT那活兒 / 3244人閱讀
PostgreSQL實(shí)現(xiàn)job神器pg_cron

點(diǎn)擊上方藍(lán)字,關(guān)注了解我們~



為何不用PGAgent,而用pg_cron?




PGAgent功能確實(shí)不錯(cuò),但是需要的依賴太多了,需要先裝PGadmin以及一大堆的依賴包,這導(dǎo)致使用起來非常不方面,很不友好。而pg_cron相對而言簡單了很多,只需要編譯和修改三兩個(gè)參數(shù)就可以了。


pg_cron用法




  2.1安裝


就和我們平常裝插件一樣三步走,解壓,編譯,安裝

$unzip pg_cron-main.zip

$cd pg_cron-main

$make $ make install

友情提示:如果多個(gè)pg,需要先刷新pg的環(huán)境變量,再進(jìn)行編譯,否則后果。。。


通常裝完插件,還有一個(gè)地方需要修改,那就是參數(shù)

pg_cron需要修改參數(shù)如下

shared_preload_libraries = pg_cron

cron.database_name = yxp


創(chuàng)建擴(kuò)展

# create extension pg_cron;



至此安裝已經(jīng)成功,接下來就要看使用了


  2.2使用



使用起來其實(shí)也很簡單

只需要利用我們裝的pg_cron擴(kuò)展中的schedule函數(shù)就很方便的加入需要執(zhí)行的任務(wù)

我這里用了一個(gè)很簡單的vacuummy_table做演示,方便起見設(shè)置的是每十分鐘。

SELECT cron.schedule(0,10,20,30,40,50 * * * *, VACUUM my_table);





五個(gè)*咱們都知道和crontab里的一樣代表分時(shí)日月周,后面接我們需要執(zhí)行的語句即可。


如果我們想給這個(gè)任務(wù)起個(gè)名字呢,就在前面加上就好,如下所示:

做一個(gè)重啟postgreSQL就更新一下pg_cron插件的操作

SELECT cron.schedule(upgrade-pgcron, @reboot, ALTER EXTENSION pg_cron UPDATE);



重點(diǎn):

Jobname不僅僅可以方便我們看任務(wù),同時(shí)再做更改job內(nèi)容的時(shí)候提供必要的幫助


我又做了一個(gè)vacuummy_table的job,起了一個(gè)vacuum1的名字,這時(shí)候我們看到同時(shí)存在有兩個(gè)vacuummy_table的job,一個(gè)jobid是15,一個(gè)是17。



這時(shí),jobid=17的有jobname,我依據(jù)jobname做一個(gè)更改,把時(shí)間調(diào)成2點(diǎn)

select cron.schedule( vacuum1, 0 2 * * *, vacuum my_table);






這就充分體現(xiàn)的jobname的重要性。


我又隨意加了幾條job,等了等,發(fā)現(xiàn)job根本沒有執(zhí)行,看細(xì)節(jié)報(bào)了一堆連接錯(cuò)誤



什么原因?qū)е聲?huì)報(bào)這種連接失敗的錯(cuò)誤呢?



經(jīng)過查閱資料發(fā)現(xiàn),由于我們的pg_cron使用的是libpq的方式連接,需要調(diào)整一些密碼類的控制文件

第一種說法調(diào)整pg_hba.conf,第二種說法要調(diào)整.passwd,簡單來說就是要免密登錄。我一看,怎么這么麻煩,實(shí)在頭皮發(fā)麻,要是我有很多用戶,豈不每個(gè)都要配置一下,工作量也太大了吧!

我們簡單喵下這兩個(gè)配置

1)先看pg_hba.conf

每條記錄可以是下面七種格式之一



有興趣的自行官網(wǎng)查詢含義,實(shí)在太多,就不贅述了


2)再看.passwd



這個(gè)簡單一點(diǎn),但也要一個(gè)個(gè)添加

其實(shí),

現(xiàn)在的pg_cron版本已經(jīng)更新到了1.3,功能也再完善,我們苦惱的東西其實(shí)已經(jīng)被Bertrand和Nathan解決了,他們使用動(dòng)態(tài)后臺(tái)工作程序代替了連接,也就是再也不需要更改密碼相關(guān)的參數(shù)文件,只需增加一個(gè)參數(shù)cron.use_background_workers= on,并重啟一下,pg_cron強(qiáng)大功能由你帶回家。


審核日志




審核日志可讓我們查看正在運(yùn)行的cron作業(yè)以及過去的作業(yè)運(yùn)行

在我們上面就已經(jīng)用過了,cron這個(gè)schema下有個(gè)job_run_details表,這個(gè)表其實(shí)就是查看我們命令執(zhí)行的一些細(xì)節(jié)。

1)命令開始和結(jié)束的時(shí)間

2)pg_cron命令是否成功

3)返回的行數(shù)-或錯(cuò)誤消息,

這些信息可幫助我們快速檢測問題,是很有幫助的。

那么我們還有一個(gè)問題,這個(gè)表是會(huì)一直增加的,日志如何清理也是個(gè)問題?

這個(gè)問題就留給大家思考一下吧!



微信號(hào):justdoit2019syy

關(guān)注我們,了解更多



文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130037.html

相關(guān)文章

  • Lombok pojo類小神器

    摘要:可以去下載包目前最新版本為。對于某個(gè)具體的類來說,出于安全或者性能或者其它方面的考慮,可能并不希望全部成員都出現(xiàn)在方法的返回值里。根據(jù)中的建議,方法和方法要同時(shí)實(shí)現(xiàn),并且保證一致性。 前言 Lombok主頁 Lombok下載 Lombok引入項(xiàng)目之后,便可以使用 本文記錄了在項(xiàng)目中應(yīng)用Lombok時(shí)的使用案例,希望對朋友你有一些幫助。 可以去 下載jar包 maven: ...

    stackfing 評論0 收藏0
  • Postgresql 備份與恢復(fù)

    摘要:指定要用于查找的口令文件的名稱。前四個(gè)字段可以是確定的字面值,也可以使用通配符匹配所有。利用環(huán)境變量引用的文件權(quán)限也要滿足這個(gè)要求,否則同樣會(huì)被忽略。在上,該文件被假定存儲(chǔ)在一個(gè)安全的目錄中,因此不會(huì)進(jìn)行特別的權(quán)限檢查。 pg_dump pg_dump 把一個(gè)數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)為純文本文件或者是其它格式. 用法: pg_dump [選項(xiàng)]... [數(shù)據(jù)庫名字] 一般選項(xiàng): -f, --fi...

    阿羅 評論0 收藏0
  • 如何搭建一個(gè)私人網(wǎng)盤

    摘要:文章主要講了為什么要搭建私有網(wǎng)盤,以及如何用搭建。一石激起千層浪,關(guān)于如何選擇網(wǎng)盤,如何應(yīng)對網(wǎng)盤關(guān)閉的討論一下子又變得此起彼伏。搭建一個(gè)只屬于自己的網(wǎng)盤所以我決定搭建一個(gè)只屬于自己的網(wǎng)盤。搭建方法首先你得先有一個(gè)自己的。。 文章主要講了為什么要搭建私有網(wǎng)盤,以及如何用 docker + ownCloud 搭建。原文地址:http://geekplux.com/2016/10/2... ...

    taowen 評論0 收藏0
  • 分布式作業(yè) Elastic Job 如何動(dòng)態(tài)調(diào)整?

    摘要:前面分享了兩篇分布式作業(yè)調(diào)度框架的介紹及應(yīng)用實(shí)戰(zhàn)。分布式作業(yè)調(diào)度神器分布式作業(yè)快速上手指南提供了簡單易用的運(yùn)維平臺(tái),方便用戶監(jiān)控動(dòng)態(tài)修改作業(yè)參數(shù)作業(yè)操作及查詢作業(yè)。管理員擁有全部操作權(quán)限,訪客僅擁有察看權(quán)限。 前面分享了兩篇分布式作業(yè)調(diào)度框架 Elastic Job 的介紹及應(yīng)用實(shí)戰(zhàn)。 ElasticJob-分布式作業(yè)調(diào)度神器 分布式作業(yè) Elastic Job 快速上手指南! E...

    zhaochunqi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<