当我将 DBeaver 与 Cassandra 一起使用时,即使数据以没有任何时区的日期或时间格式存储,它也会显示 +01:00 的偏移量。这会导致一些奇怪的查询,如下所示:
SELECT "Time"
FROM keyspace."Table"
ORDER BY "Time" DESC;
Time
00:00:00
23:00:00
22:00:00
...
01:00:00
那么,如何删除转换或将时区设置为 UTC?
我找到了另一个解决方案:
DBeaver 根目录中的设置
dbeaver.ini
文件。
打开文件:
-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834
-showsplash
# START: change jre version, not using the one in %JAVA_HOME%
-vm
D:\ArPortable\Java\jdk1.8.0_171\jre\bin\server\jvm.dll
# END
# JVM settings
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Xms64m
-Xmx1024m
# time zone
-Duser.timezone=UTC
# language
-Duser.language=en
DBeaver 使用已安装计算机中的时间,因此更改时钟并重新启动 DBeaver 即可。但是有一种方法可以只为 DBeaver 做这件事。
转到 DBeaver 快捷方式。大概就在这里:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\DBeaver
右键单击它,选择属性,然后在目标框中添加-vmargs -Duser.timezone=UTC
到末尾,结果如下:
"C:\Program Files\DBeaver\dbeaver.exe" -vmargs -Duser.timezone=UTC
启动 DBeaver,时间现在以 UTC 显示。
更新 2021-04-05:根据最近的评论,我需要明确此解决方案仅适用于 Clickhouse DB。此外,这是一个非常古老的答案,请记住,它目前是 99% 过时的解决方案。
我认为它在以前的版本中已修复。
只需转到设置 -> 编辑器 -> 数据格式,然后选择“使用本机日期/时间格式”复选框。
在 Mac 上
限制:您必须为每次版本升级重做此操作。
视窗
来源:本博客
如果 DBeaver 正在运行,请退出它。
编辑/usr/share/dbeaver/dbeaver.ini
,添加-Duser.timezone=UTC
到-vmargs
部分。例如:
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Xms64m
-Xmx1024m
-Duser.timezone=UTC
打开 DBeaver 并查看 UTC 时间戳。
前:2021-04-19 16:14:23
后:2021-04-19 16:14:23.056178+00
用 PostgreSQL 测试。