欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在PostgreSQL中定時(shí)執(zhí)行job-創(chuàng)新互聯(lián)

這篇文章給大家介紹怎么在PostgreSQL中定時(shí)執(zhí)行job,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、尉氏網(wǎng)絡(luò)推廣、微信小程序開發(fā)、尉氏網(wǎng)絡(luò)營(yíng)銷、尉氏企業(yè)策劃、尉氏品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供尉氏建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.chinadenli.net

定時(shí)job可以使用一下兩種技術(shù)實(shí)現(xiàn):


Linux的crontab功能

pgadmin的pgAgent功能

為了避免數(shù)據(jù)庫(kù)系統(tǒng)和操作系統(tǒng)的綁定,最后決定在數(shù)據(jù)庫(kù)層面實(shí)現(xiàn)自動(dòng)清理功能,即使用pgAgent功能

介紹

pgAgent是pgAdmin III工具中的一個(gè)插件,它在pgAdmin III v1.4版本中引用。

主要用于PostgreSQL的作業(yè)調(diào)度代理,能夠在復(fù)雜的時(shí)間表上運(yùn)行多步批處理shell和SQL任務(wù)。

需要注意的是,pgAgent需要一些數(shù)據(jù)庫(kù)表和其他對(duì)象的支持,因此需要先安裝pgAgent數(shù)據(jù)庫(kù)。

環(huán)境

PostgreSQL:

操作系統(tǒng):CentOS Linux release 7.3.1611 (Core)
數(shù)據(jù)庫(kù)系統(tǒng): PostgreSQL 9.5.8
IP: 192.168.230.134
port: 5432

安裝

安裝pgAdmin III

yum install pgadmin3_95.x86_64

輸入:

[root@localhost ~]# yum install pgadmin3_95.x86_64 
Loaded plugins: fastestmirror, langpacks
base                               | 3.6 kB 00:00:00   
epel/x86_64/metalink                       | 6.4 kB 00:00:00   
extras                              | 3.4 kB 00:00:00   
pgdg95                              | 4.1 kB 00:00:00   
updates                             | 3.4 kB 00:00:00   
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package pgadmin3_95.x86_64 0:1.22.1-1.rhel7 will be installed
--> Processing Dependency: wxGTK for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_xrc-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_stc-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_html-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_core-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_aui-2.8.so.0(WXU_2.8.5)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_aui-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_adv-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu_xml-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu_net-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu-2.8.so.0(WXU_2.8.5)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu-2.8.so.0(WXU_2.8)(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_xrc-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_stc-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_html-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_core-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_aui-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_gtk2u_adv-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu_xml-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu_net-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Processing Dependency: libwx_baseu-2.8.so.0()(64bit) for package: pgadmin3_95-1.22.1-1.rhel7.x86_64
--> Running transaction check
---> Package wxBase.x86_64 0:2.8.12-20.el7 will be installed
---> Package wxGTK.x86_64 0:2.8.12-20.el7 will be installed
--> Processing Dependency: libSDL-1.2.so.0()(64bit) for package: wxGTK-2.8.12-20.el7.x86_64
--> Running transaction check
---> Package SDL.x86_64 0:1.2.15-14.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================
 Package        Arch       Version         Repository    Size
========================================================================================
Installing:
 pgadmin3_95      x86_64      1.22.1-1.rhel7      pgdg95      3.2 M
Installing for dependencies:
 SDL          x86_64      1.2.15-14.el7      base       204 k
 wxBase        x86_64      2.8.12-20.el7      epel       588 k
 wxGTK         x86_64      2.8.12-20.el7      epel       2.9 M

Transaction Summary
========================================================================================
Install 1 Package (+3 Dependent packages)

Total download size: 6.9 M
Installed size: 27 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): SDL-1.2.15-14.el7.x86_64.rpm               | 204 kB 00:00:00   
(2/4): wxBase-2.8.12-20.el7.x86_64.rpm              | 588 kB 00:00:00   
(3/4): wxGTK-2.8.12-20.el7.x86_64.rpm              | 2.9 MB 00:00:01   
(4/4): pgadmin3_95-1.22.1-1.rhel7.x86_64.rpm           | 3.2 MB 00:00:48   
----------------------------------------------------------------------------------------
Total                           147 kB/s | 6.9 MB 00:48   
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : wxBase-2.8.12-20.el7.x86_64                     1/4 
 Installing : SDL-1.2.15-14.el7.x86_64                       2/4 
 Installing : wxGTK-2.8.12-20.el7.x86_64                      3/4 
 Installing : pgadmin3_95-1.22.1-1.rhel7.x86_64                  4/4 
 Verifying : SDL-1.2.15-14.el7.x86_64                       1/4 
 Verifying : wxGTK-2.8.12-20.el7.x86_64                      2/4 
 Verifying : wxBase-2.8.12-20.el7.x86_64                     3/4 
 Verifying : pgadmin3_95-1.22.1-1.rhel7.x86_64                  4/4 

Installed:
 pgadmin3_95.x86_64 0:1.22.1-1.rhel7                          

Dependency Installed:
 SDL.x86_64 0:1.2.15-14.el7 wxBase.x86_64 0:2.8.12-20.el7 wxGTK.x86_64 0:2.8.12-20.el7

Complete!

安裝pgAgent

yum install pgagent_95

輸入:

[root@localhost ~]# yum install pgagent_95
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.ustc.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package pgagent_95.x86_64 0:3.4.0-9.rhel7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================
 Package       Arch       Version          Repository    Size
========================================================================================
Installing:
 pgagent_95      x86_64      3.4.0-9.rhel7       pgdg95      42 k

Transaction Summary
========================================================================================
Install 1 Package

Total download size: 42 k
Installed size: 151 k
Is this ok [y/d/N]: y
Downloading packages:
pgagent_95-3.4.0-9.rhel7.x86_64.rpm               | 42 kB 00:00:02   
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : pgagent_95-3.4.0-9.rhel7.x86_64                   1/1 
 Verifying : pgagent_95-3.4.0-9.rhel7.x86_64                   1/1 

Installed:
 pgagent_95.x86_64 0:3.4.0-9.rhel7                           

Complete!

在數(shù)據(jù)庫(kù)上配置pgAgent

找到pgagent.sql和pgagent_upgrade.sql文件路徑,并在需要job功能的數(shù)據(jù)庫(kù)上執(zhí)行

將會(huì)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)pgagent模式,并創(chuàng)建相應(yīng)的功能表和函數(shù)

psql -U postgres
postgres=# \i /usr/share/pgagent_95-3.4.0/pgagent.sql
postgres=# \i /usr/share/pgagent_95-3.4.0/pgagent_upgrade.sql
postgres=# \q

輸入:

[root@localhost pgagent_95-3.4.0]# psql -U postgres
psql (9.5.9)
Type "help" for help.

postgres=# \i /usr/share/pgagent_95-3.4.0/pgagent.sql
BEGIN
CREATE SCHEMA
COMMENT
CREATE TABLE
COMMENT
CREATE TABLE
CREATE INDEX
COMMENT
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
CREATE TABLE
COMMENT
COMMENT
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
CREATE TABLE
CREATE INDEX
COMMENT
CREATE TABLE
CREATE INDEX
CREATE INDEX
COMMENT
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
CREATE FUNCTION
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
COMMIT
postgres=# \i /usr/share/pgagent_95-3.4.0/pgagent_upgrade.sql
CREATE FUNCTION
CREATE FUNCTION
COMMENT
psql:/usr/share/pgagent_95-3.4.0/pgagent_upgrade.sql:49: ERROR: column "jstconnstr" of relation "pga_jobstep" already exists
ALTER TABLE
ALTER TABLE
postgres=# \q

如果數(shù)據(jù)庫(kù)滿足以下條件:

* PostgreSQL 版本高于9.1

* pgAgent 版本高于3.4.0

可使用簡(jiǎn)易安裝模式:

[root@localhost pgagent_95-3.4.0]# psql -U postgres
psql (9.5.9)
Type "help" for help.

postgres=# CREATE EXTENSION pgagent;

效果相同

啟動(dòng)pgAgent守護(hù)程序

語(yǔ)法:

pgagent_95 [options] <connect-string>
options:
-f run in the foreground (do not detach from the terminal)
-t <poll time interval in seconds (default 10)>
-r <retry period after connection abort in seconds (>=10, default 30)>
-s <log file (messages are logged to STDOUT if not specified>
-l <logging verbosity (ERROR=0, WARNING=1, DEBUG=2, default 0)>

實(shí)例:

[root@localhost pgagent_95-3.4.0]# pgagent_95 hostaddr=192.168.230.134 dbname=postgres user=postgres password=oracle

執(zhí)行計(jì)劃創(chuàng)建

使用pgadmin III工具連接目標(biāo)庫(kù)(可以使用其他機(jī)器遠(yuǎn)程連接目標(biāo)庫(kù))

配置如下:

怎么在PostgreSQL中定時(shí)執(zhí)行job

進(jìn)入pgadmin后可看到作業(yè)狀態(tài),如下圖所示:

怎么在PostgreSQL中定時(shí)執(zhí)行job

創(chuàng)建作業(yè)date_delete_new

怎么在PostgreSQL中定時(shí)執(zhí)行job

然后在date_delete_new作業(yè)中添加執(zhí)行計(jì)劃和步驟

創(chuàng)建計(jì)劃delete_date_new

計(jì)劃其實(shí)就是作業(yè)的執(zhí)行時(shí)間表,可以在其中設(shè)置作業(yè)的運(yùn)行時(shí)間,最小單位為min,設(shè)置方式與linux的cron控件類似

本次的業(yè)務(wù)要求是每月1號(hào)執(zhí)行刪除操作,顧只需設(shè)置每月一日?qǐng)?zhí)行即可:

新建計(jì)劃:

怎么在PostgreSQL中定時(shí)執(zhí)行job

設(shè)置日期為每月的1號(hào)

怎么在PostgreSQL中定時(shí)執(zhí)行job

設(shè)置時(shí)間為00點(diǎn)00分

怎么在PostgreSQL中定時(shí)執(zhí)行job

創(chuàng)建步驟delete_date_new

步驟是可以執(zhí)行的SQL腳本或shell腳本,當(dāng)計(jì)劃條件觸發(fā)時(shí),作業(yè)的每個(gè)步驟將依次以字母數(shù)字名稱順序運(yùn)行

本次的業(yè)務(wù)要求是刪除表中一年以前的數(shù)據(jù),以test表為例

新建步驟:

需要指定操作的數(shù)據(jù)庫(kù)(postgres)

怎么在PostgreSQL中定時(shí)執(zhí)行job

步驟1

在定義中寫入所要執(zhí)行的腳本,如:

DELETE FROM "test"."test" 
where time < CURRENT_DATE-('1 year')::INTERVAL;

怎么在PostgreSQL中定時(shí)執(zhí)行job

步驟2

到此執(zhí)行計(jì)劃創(chuàng)建完成

關(guān)于怎么在PostgreSQL中定時(shí)執(zhí)行job就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

本文題目:怎么在PostgreSQL中定時(shí)執(zhí)行job-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://www.chinadenli.net/article42/degsec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站電子商務(wù)做網(wǎng)站定制開發(fā)標(biāo)簽優(yōu)化外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)