如何调整降低TimescaleDB连续聚合操作的日志输出量级
调低TimescaleDB连续聚合刷新操作日志等级的方法
你提到的连续聚合刷新日志属于TimescaleDB默认输出的INFO级别的运行日志,可以通过以下两种方式调整日志输出:
方式一:全局关闭所有连续聚合的刷新日志
该方式适合不需要记录任何连续聚合刷新操作日志的场景,仅对TimescaleDB生效,不影响PostgreSQL其他日志的输出:
- 打开PostgreSQL配置文件
postgresql.conf,新增或修改如下参数:- TimescaleDB 2.0及以上版本:
timescaledb.log_refresh = off - TimescaleDB 1.x版本:
timescaledb.disable_background_job_logs = on
- TimescaleDB 2.0及以上版本:
- 保存配置后执行重载命令即可生效,无需重启数据库:
SELECT pg_reload_conf();
方式二:仅关闭指定连续聚合的刷新日志
如果仅需要屏蔽部分频繁运行的连续聚合日志,保留其他聚合的日志记录,可以按如下操作:
- 新建连续聚合时直接指定关闭日志参数:
CREATE MATERIALIZED VIEW candle_ohlcvx_aggregate_5m WITH (timescaledb.continuous, timescaledb.log_usage = false) AS -- 此处替换为你自己的聚合查询逻辑 SELECT time_bucket('5 minutes', ts) as bucket, symbol, max(price) as high, min(price) as low, first(price, ts) as open, last(price, ts) as close FROM tick_data GROUP BY bucket, symbol WITH DATA;
- 针对已创建完成的连续聚合,可以直接修改参数生效:
ALTER MATERIALIZED VIEW candle_ohlcvx_aggregate_5m SET (timescaledb.log_usage = false);
配置验证
调整完成后可以手动触发一次目标连续聚合的刷新,验证日志是否已停止输出:CALL refresh_continuous_aggregate('candle_ohlcvx_aggregate_5m', '2021-11-29', '2021-12-02');
如果仍有相关日志输出,可以检查PostgreSQL的log_min_messages参数,确认是否被手动设置为info及更低等级,将其调整为默认的notice即可过滤掉这类INFO级别日志。
内容的提问来源于stack exchange,提问作者Mikko Ohtamaa
相关产品推荐
相关产品推荐

