用的是timescaledb
触发器的时间Now()用的是utc时间,和数据库入库中的时间相差8小时;
解决方案:
设置 PostgreSQL 数据库服务器的时区,可以按照以下步骤进行操作:
-
打开 PostgreSQL 配置文件
postgresql.conf
。根据你的操作系统和安装方式的不同,该文件的位置可能会有所不同。通常情况下,它位于 PostgreSQL 安装目录的data
子目录中。 -
在
postgresql.conf
文件中搜索timezone
设置项。这个设置项用于指定数据库服务器的时区。 -
将
timezone
设置项的值修改为你想要设置的时区。时区的命名遵循 IANA 时区数据库的规范,可以使用短名称(例如UTC
)或完整的时区名称(例如Asia/Shanghai
)。例如,要将时区设置为中国上海的时区,你可以将
timezone
设置项的值修改为Asia/Shanghai
,如下所示:
timezone = 'Asia/Shanghai'
如果你希望使用 UTC 作为时区,可以将设置项的值修改为 UTC
:
-
timezone = 'UTC'
-
保存并关闭
postgresql.conf
文件。 -
重新启动 PostgreSQL 服务器,以使新的时区设置生效。具体启动方式取决于你的操作系统和安装方式。
一旦 PostgreSQL 数据库服务器的时区设置完成,它将在后续的数据库操作中使用该时区进行日期和时间计算。