timescaledb - Timescaledb:如何停止数据库中的所有连续聚合作业
问题描述
我通过转储和重新导入数据从 TimescaleDB 创建测试和静态分析副本。这些数据库是只读的,没有新数据进入。但是,由于它们是原始 TimescaleDB 数据库的副本,它们仍然在运行连续聚合作业。
这些作业,因为它们无关紧要,似乎仍然会导致不必要的唤醒和后台 CPU 使用。
如何禁用 TimescaleDB 中的所有连续聚合作业?
解决方案
这些作业通过自动化策略进行管理。您应该能够识别由此安排的作业
SELECT * FROM timescaledb_information.jobs;
您可以使用作业 ID 更改作业(示例使用 id 1000):
SELECT alter_job(1000, scheduled => false);
...或更改所有连续聚合作业...
SELECT alter_job(job_id, scheduled => false)
FROM timescaledb_information.jobs
WHERE proc_name = 'policy_refresh_continuous_aggregate'
AND hypertable_name = 'yourhypertablename'
或者,如果您想完全删除它们,那么您可以使用
SELECT delete_job(1000);
注意:这也会停止任何当前正在运行的作业。如果您想重新启动它们,那么更改可能比删除更好。
您可以通过查找自动化策略从 TimescaleDB 文档中获得此信息,最好通读一遍,以便了解这可能产生的任何影响。
透明度:我为 Timescale 工作
推荐阅读
- java - 数组列表
元素浅拷贝 - android - 在 BottomAppBar 导航抽屉项目单击不起作用
- php - PHP(Laravel 5.4) 致命错误 Allowed memory size ... > memory_limit not work
- javascript - 猫鼬:如何仅在保存数据时设置默认值(而不是在获取数据时)?
- javascript - 如何在 Node.js 中使用 twilio fetch 会议功能创建自定义对象/数组
- angular - 下拉 PrimeNg Angular 4 的动态更改选项
- android - Google Play Services 使 android apk 文件太大
- html - 在 Node 中按 id 正则表达式搜索 span
- php - 使用动态表单插入数据库
- java - DatePicker 对话框未显示?