Datagrip 客户端

Datagrip 客户端

当 jdbc 连接中没有指定数据库名称的时候,是无法直接双击表名来查看表格中的数据的,但是指定之后,就可以了,例如

jdbc:TAOS-RS://xiashuo.xyz:6041/server_node_base

虽然能够双击表名查看表格数据,但是无法直接在表格中新增删除更新数据。这跟连接方式无关,不管是通过原生连接还是 rest 连接都是如此。

时区问题

新版本 DataGrip 以默认时区取世界标准时间。要想时间显示正常,需要将时区变为上海时区,可手动在连接配置里设置参数。

  1. 右键打开你想要修改的数据库连接的Properties菜单;
  2. 点击Advanced按钮;
  3. VM options后面写入 -Duser.timezone=Asia/Shanghai,就可以啦;
  4. 断开数据库连接,重新执行一条 SQL 就可以看到效果了。

设置 JDBC 的连接时区

How to set datagrip to take same timezone as the host database - Stack Overflow

其实正常的数据库连接中都会有这个配置,比如 Mysql 的驱动就有

TDengine 没有这个配置,一开始我还以为是驱动版本过低,导致没有这个配置,后来发现不是的,升级到最新也没有这个配置。
后来,在官方文档:通过Java建立连接 中可以得知,通过 REST 连接 TDengine 时,timezone 参数是无效的,就是说只要你通过 rest 去连接 TDengine,时间戳会一直采用 UTC 时间,靠。你只能拿到手再转一次。如果服务器设置时区是 UTC+8。那么你拿到的时间戳会比实际时间早 8 个小时。
放弃设置时区。