2016-06-28 99 views
0

我的问题是:PostgreSQL:我可以检索log_min_duration_statement作为整数吗?

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

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

有没有人知道一种方法来做到这一点?

非常感谢您的时间!

+0

谢谢,这工作得很好,是我所希望的。如果你让它成为答案,我会接受它。 – xte

回答

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; 
相关问题