PostgreSQL:我可以将log_min_duration_statement检索为整数吗?

时间:2016-06-28 08:44:34

标签: postgresql settings

我的问题如下:

我更新了postgreSQL文档中描述为整数的设置“log_min_duration_statement”(使用的是版本9.5)。我使用以下查询来更新它:“ SET log_min_duration_statement to [numberOfMilliseconds]

当我尝试获取更新后的值时,我会在几毫秒内(例如“250ms”)或以秒为单位(例如“10s)格式化持续时间字符串)。我使用“SHOW log_min_duration_statement”来检索值。我想将该值检索为一个表示毫秒的整数,而不是将其格式化为具有不同单位的文本。

有没有人知道如何做到这一点?

非常感谢你的时间!

1 个答案:

答案 0 :(得分:1)

SHOW log_min_duration_statement会返回interval type input compatible form中的文字值。

因此可以将其转换为interval类型,但使用SHOW命令是不可能的。因此,我们改为使用current_setting函数:

select current_setting('log_min_duration_statement')::interval;

然后将间隔转换为毫秒:

select extract(epoch from current_setting('log_min_duration_statement')::interval) * 1000;