小编ped*_*ply的帖子

PostgreSQL 定期删除和聚合数据

我正在使用 Thingsboard CE 和 PostgreSQL 开发传感器监控应用程序。

Contex:我们每秒收集数据,以便我们可以实时查看传感器测量结果。然而,这对存储来说非常详尽,并且除了启用实时监控之外不构成其他要求。例如,不需要以这样的粒度(1秒间隔)检查上周进行的测量,因此不需要保留如此大量的数据占用资源。当查询前几天的值的历史记录时,每 5 分钟的平均值就完全可以了。

问题:这就提出了如何从数据库中删除现有行,同时聚合要删除的数据并插入新行以对给定时间间隔内删除的数据进行平均的问题。例如,我想保留当天的原始数据(每秒测量一次)和当月的汇总数据(每 5 分钟平均一次)等。解决此问题的最佳行动方案是什么?

我检查了 PostgreSQL 是否有类似此功能的东西,但没有找到任何东西。我的主要想法是使用 cron 作业定期执行从原始数据到聚合数据的聚合/删除。有人能想到更好的选择吗?我非常欢迎任何建议和意见。

更新:我最终使用了pg_cron一个简单的基于 cron 的 PostgreSQL 作业调度程序。非常有用且易于使用,性能符合预期!

postgresql thingsboard

5
推荐指数
1
解决办法
370
查看次数

标签 统计

postgresql ×1

thingsboard ×1