在psql的 timing输出中调整秒的显示格式

编程语言 2026-07-12

psql 使用 \timing on 时,我们可以看到执行时间。好的。但我需要一个标准的时间格式,应该如何控制?

我看到 Time: 0,475 msTime: 88,844 ms 使用逗号而不是句点。如何修改?

我已经测试过这个,但没有效果:

\timing off
SET LC_MESSAGES TO 'pt_BR.UTF-8'; SET LC_MONETARY TO 'pt_BR.UTF-8';
SET LC_NUMERIC TO 'pt_BR.UTF-8'; SET LC_TIME TO 'pt_BR.UTF-8';
\timing on
SELECT 1+1;

\timing off
SET LC_MESSAGES TO 'en_US.UTF-8'; SET LC_MONETARY TO 'en_US.UTF-8';
SET LC_NUMERIC TO 'en_US.UTF-8'; SET LC_TIME TO 'en_US.UTF-8';
\timing on
SELECT 1+1;

解决方案

所使用的区域设置 psql 来自环境变量。如果你的交互式shell使用德语区域设置,psql 将在 \timing 的输出中把小数点改为逗号。

假设你在Linux上,可以把 LC_NUMERIC 设置为C 区域设置,以达到你想要的效果:

LC_ALL= LC_NUMERIC=C psql

(你需要清除 LC_ALL,因为它会覆盖 LC_NUMERIC。)

对于其他操作系统,修改区域设置的效果可能会不同。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章