PostgreSQL pg_sleep_for() 函数使用指南

PostgreSQL pg_sleep_for() 函数接收一个间隔参数,将当前服务器进程的执行暂停(睡眠)指定的间隔。

pg_sleep_for() 语法

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

pg_sleep_for(duration INTERVAL)

参数

duration
必需的。一个 INTERVAL 类型的值, 它指示了要将当前服务器进程的执行暂停多久。

返回值

PostgreSQL pg_sleep_for() 函数没有返回值,它用于将当前服务器进程的执行暂停(睡眠)指定的间隔。

pg_sleep_for() 示例

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

SELECT
    clock_timestamp(),
    pg_sleep_for('10 seconds'),
    clock_timestamp();
-[ RECORD 1 ]---+------------------------------
clock_timestamp | 2022-05-20 11:31:05.691725+08
pg_sleep_for    |
clock_timestamp | 2022-05-20 11:31:15.695237+08

这里:

  • 我们对 pg_sleep_for() 使用了一个间隔值: 10 seconds,它用于将当前服务器进程的执行暂停 10 秒。
  • 由于我们在两个 clock_timestamp() 函数中间使用 pg_sleep_for('10 seconds') 将当前服务器进程的执行暂定了 10 秒,所以第二个 clock_timestamp() 函数比第一个的执行晚了 10 秒,从而第二个的返回值比第一个晚 10 秒。