【问题标题】:Data displayed with a time-shift, not the original time数据显示时移,而不是原始时间
【发布时间】:2020-08-11 08:43:08
【问题描述】:

我刚开始使用 Grafana,我也是 SQL 新手。我也在 Grafana 社区上发布了这个,但还没有得到回应。我使用 timescaleDB for grafana 设置了一个简单的仪表板,并将时间数据作为“没有时区的时间戳”添加到 Postgres 数据库中(例如: - 格式为 '2020-04-27 22:38:36' 等)在在仪表板中,当前时间的数据不会显示,而正在更新的数据库/数据不会显示实际时间数据写入数据库但显示时移,当实际数据写入 11.mm 时。 ss 它们在图表上显示为 17.mm.ss。 (如这里-dashboard picture)(以下是我为获得图像中显示的输出结果而进行的查询(我只在一段时间内将数据写入数据库))

SELECT
 "time" AS "time",
  score
FROM scoredata
WHERE
"time" BETWEEN '2020-04-27T11:20:35.925Z' AND '2020-04-27T12:20:35.925Z'
ORDER BY 1

我也尝试从仪表板设置中更改时区。但没有改变结果。

【问题讨论】:

    标签: sql grafana timescaledb


    【解决方案1】:

    官方时间栏必须是 UTC 时间才能正确显示。如果不是这种情况,您可以转换它。我有一个本地时间的 PostgreSQL 数据库。为了在 Grafana 中正确使用它,我使用了

       $__timeGroupAlias(time at TIME zone 'Europe/Berlin' at TIME zone 'UTC',$__interval,0),
    

    time 作为时间列的名称。在时间过滤器中也必须这样做

    WHERE
      $__timeFilter(time at TIME zone 'Europe/Berlin' at TIME zone 'UTC')
    

    感谢How to convert local time to UTC?

    【讨论】:

      【解决方案2】:

      我从 Grafana 社区页面得到了答案。数据需要以 UTC 格式存储在数据库中。 Grafana 会将它们转换为当地时间。

      【讨论】:

        猜你喜欢
        • 2015-04-28
        • 1970-01-01
        • 2020-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多