PostgreSQL数据库插件——定时任务pg_cron
安装pg_cron
cd /opt
wget https://github.com.citusdata/pg_cron/archive/v1.2.0.tar.gz
tar zxvf v1.2.0.tar.gz
cd pg_cron-1.2.0
make PG_CONFIG=/opt/pgsql/bin/pg_config
make install PG_CONFIG=/opt/pgsql/bin/pg_config
编辑postgresql.conf
vi postgresql.conf
shared_preload_libraries='pg_cron'
cron.database_name='postgres' --pg_cron插件元数据存放数据库
重启数据库
pg_ctl -D /opt/data/ restart
创建扩展
/opt/pg12/bin/psql -p 5432-U postgres
postgres=# create extension pg_cron;
CREATE EXTENSIOIN
赋予普通用户权限(可选)
postgres=# GRANT USAGE ON SCHEMA cron TO test;
普通用户创建job cron格式
/opt/pg12/bin/psql -p 5432 -Ufeishujun postgres
--每分钟插入一条随机数据
postgres=> SELECT cron.schedule('* * * * *', $insert into t values((random()*100)::int, 'test');$$);
--每天上午9点执行清理
postgres=> SELECT cron.schedule('0 10 * * *', 'VACUUM');
普通用户查询job列表
postgres=> select jobid, command from cron.job;
jobid | command
------+---------------------
6 | insert into t values((random()*100)::int, 'test');
7 | VACUUM
普通用户删除job
postgres=> select cron.unschedule(7);
插件github地址:https://github.com/citusdata/pg_cron
免责声明:
1、本站资源由自动抓取工具收集整理于网络。
2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。
3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。
4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。
5、如果您喜欢本资源,请您支持作者,购买正版内容。
6、资源失效,请下方留言,欢迎分享资源链接
文章评论