概述
pg_cron是定时任务管理器,可以执行数据等操作,如定期向表中插入数据。
安装配置
修改postgresql.conf配置文件,添加如下内容:
#shared_preload_libraries = '' #(change requires restart)
shared_preload_libraries = 'pg_cron'
cron.database_name = 'postgres'
注意:配置了cron.database_name参数之后,才能在对应的数据库上加载pg_cron扩展,否则创建扩展会报错。
配置pg_hba.conf中密码验证方式为trust,也可以配置.uxpass文件。
#"local" is for Unix domain socket connections only
localhost all all trust
启动数据库,创建pg_cron扩展。
./psql
create extension pg_cron;
定时设置。
例如:每隔1分钟向time_cron表中插入一条当前时间
-
创建一张time_cron表。
create table time_cron(data timestamp); -
建立定时任务,每分钟向time_cron表中插入一条当前时间记录。
方式一:适用于本地数据库
SELECT cron.schedule('*/1 * * * *', 'insert into time_cron values (now())');方式二:适用于远程数据库
INSERT INTO cron.job (schedule, command, nodename, nodeport, database, username) VALUES ('*/1 * * * *', 'insert into time_cron values (now())', '127.0.0.1', 5432, 'postgres', 'mypassword'); -
查看任务是否创建成功。
select * from cron.job; -
等待几分钟,查看time_cron表中数据。
select * from time_cron; -
取消任务。
方式一:
SELECT cron.unschedule(2);方式二:
delete from cron.job where jobid=2;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




