PostgreSQL pg_sleep_until() 函数

PostgreSQL pg_sleep_until() 函数接收一个时间戳值,将当前服务器进程的执行暂停(睡眠)到这个指定的时刻。

pg_sleep_until() 语法

这里是 PostgreSQL pg_sleep_until() 函数的语法:

pg_sleep_until(sleep_to TIMESTAMP WITH TIME ZONE)

参数

sleep_to
必需的。它指示了当前服务器进程的何时停止睡眠。

返回值

PostgreSQL pg_sleep_until() 函数没有返回值,将当前服务器进程的执行暂停(睡眠)到这个指定的时刻。

pg_sleep_until() 示例

这里结合 clock_timestamp() 函数展示了 pg_sleep_until() 的能力。

SELECT
    clock_timestamp(),
    pg_sleep_until('2022-05-20 11:35:50+08'),
    clock_timestamp();
-[ RECORD 1 ]---+------------------------------
clock_timestamp | 2022-05-20 11:35:41.080176+08
pg_sleep_until  |
clock_timestamp | 2022-05-20 11:35:50.013833+08

这里,我们使用 pg_sleep_until() 函数将服务器进程的执行暂停到 2022-05-20 11:35:50+08,随后 第二个 clock_timestamp() 函数返回了当前的时间。