Grafana 与 Postgres 的时间转换

Grafana shift in time with Postgres

我有一个带时间戳的 postgres table。 Postgres 设置为 CET。 Grafana 也设置为 CET。

在数据库中我有时间戳,例如。 2 p.m。我在 Grafana 中看到的只是最多 1 p.m 的数据。如果我改变时区,时间轴也改变了,但并不是所有的数据都是从数据库中选择的,即最后一小时的数据总是丢失。

我做错了什么?

基本规则是数据库中的数据在 UTC 时区。 Grafana 以 UTC 时区查询数据库,然后它会自动将 UTC 数据库结果“移动”到选定的仪表板时区(通常是浏览器时区,但可以在仪表板配置中配置时区)。

数据库中数据的任何非 UTC 时区都意味着问题。当地时区也是一个问题,因为夏令时。你有没有想过当 CET <-> CEST 发生变化时你的数据将如何保存?您将有一个小时的双倍数据或丢失数据。所以黄金法则:数据库中的数据必须保存在 UTC 时区。