我的问题如下:
我更新了postgreSQL文档中描述为整数的设置“log_min_duration_statement”(使用的是版本9.5)。我使用以下查询来更新它:“ SET log_min_duration_statement to [numberOfMilliseconds] ”
当我尝试获取更新后的值时,我会在几毫秒内(例如“250ms”)或以秒为单位(例如“10s)格式化持续时间字符串 “)。我使用“SHOW log_min_duration_statement”来检索值。我想将该值检索为一个表示毫秒的整数,而不是将其格式化为具有不同单位的文本。
有没有人知道如何做到这一点?
非常感谢你的时间!
答案 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;