问题描述
在最近的工作中遇到一个问题,使用DataGrip客户端连接PostgreSQL数据库,查询timestamp with time zone
这种类型的字段时,会发现查询得到的时间比真实入库的时间早了8个小时,这就是下面要说的时区问题。
问题解决
新版本DataGrip以默认时区取世界标准时间。要想时间显示正常,需要将时区变为上海时区,可手动在连接配置里设置参数。如下图:
操作步骤
- 右键打开你想要修改的数据库连接的Properties菜单;
- 点击Advanced按钮;
- 在VM options后面写入
-Duser.timezone=Asia/Shanghai
,就可以啦; - 断开数据库连接,重新执行一条SQL就可以看到效果了。
祝顺利~