Grafana 使用 Postgres 及时转移
Posted
技术标签:
【中文标题】Grafana 使用 Postgres 及时转移【英文标题】:Grafana shift in time with Postgres 【发布时间】:2021-12-29 08:52:28 【问题描述】:我有一个带有时间戳的 postgres 表。 Postgres 设置为 CET。 Grafana 也设置为 CET。
在数据库中,我的时间戳高达例如。下午 2 点我在 Grafana 中看到的只是下午 1 点之前的数据。如果我更改时区,时间轴会更改,但并非所有数据都从数据库中选择,即最后一小时的数据总是丢失。
我做错了什么?
【问题讨论】:
【参考方案1】:基本规则是在UTC 时区 的数据库中保存数据。 Grafana 在 UTC 时区查询数据库,然后它会自动将 UTC 数据库结果“移动”到选定的仪表板时区(通常是浏览器时区,但可以在仪表板配置中配置时区)。
数据库中数据的任何非 UTC 时区都意味着问题。本地时区也是一个问题,因为夏令时。您是否想过当 CET CEST 发生变化时如何保存您的数据?您将在一小时内将数据翻倍或丢失数据。所以黄金法则:数据库中的数据必须保存在 UTC 时区。
【讨论】:
如果我用正确的时区将数据存储在 timestamptz 中,它会起作用吗?即使数据库在 CET 中? @MichaelHecht 是的,PostgreSQL 将时间戳存储在 UTC 值中以上是关于Grafana 使用 Postgres 及时转移的主要内容,如果未能解决你的问题,请参考以下文章
Grafana 与 springboot 和 postgres 的集成
Grafana 引用数据集变量以使用 Postgres 驱动程序转换图例值