如何解决插入 timescaledb 填充 ram - 错误的 chunk_time_interval?
我有一个 postgres 表,我想将其迁移到 timescaledb 超表。我正在使用本教程 https://docs.timescale.com/timescaledb/latest/how-to-guides/migrate-data/same-db/#convert-the-new-table-to-a-hypertable 中的 faster method
来执行此操作。
我使用的命令是:INSERT INTO new_table SELECT * FROM old_table;
其中 new_table 是一个超级表
是不是我设置的 chunk_time_interval 有问题? 我用了 1h 应该没问题。原始 postgres 表中的总数据集约为 650GB,跨度约为 5 个月。所以这意味着平均块大小约为 200MB,远低于推荐的 25% * 32GB RAM。实际上,我故意选择了一个我认为太低的数字,因为我将来会加载到其他超级表中的额外数据。
- 如果这不是问题,那是什么?
- 有没有办法限制 postgres 或 timescaledb 不超过一定数量的 ram 以保护其他进程?
解决方法
我之前在使用空间分区和时间分区时遇到过这个问题。检查您拥有的块数是否太高,并确保始终在查询中包含时间范围。输出是什么
select * from timescaledb_information.hypertables;
它是否在您的超级表中显示了大量块?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。