PostgreSQL pg_listening_channels() 函数使用指南

PostgreSQL pg_listening_channels() 函数返回当前会话正在侦听的异步通知通道的名称。

pg_listening_channels() 语法

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

pg_listening_channels() -> boolean

参数

PostgreSQL pg_listening_channels() 函数无需任何参数。

返回值

PostgreSQL pg_listening_channels() 函数返回一个数组,包含了当前会话正在侦听的异步通知通道的名称。

pg_listening_channels() 示例

以下语句说明了 PostgreSQL pg_listening_channels() 函数的基本用法:

SELECT pg_listening_channels();
 pg_listening_channels
-----------------------
(0 rows)

这里,当前会话并没有侦听任何异步通知频道,所以 pg_listening_channels() 函数返回了空的结果集。

要让当前会话侦听一个异步通知频道 channel1,请使用以下 LISTEN 命令:

LISTEN channel1;

要让当前会话侦听一个异步通知频道 channel2,请使用以下 LISTEN 命令:

LISTEN channel2;

要查看当前会话正在侦听的异步通知频道,请使用 pg_listening_channels() 函数:

SELECT pg_listening_channels();
 pg_listening_channels
-----------------------
 channel1
 channel2
(2 rows)

这里,我们看到,当前会话正在侦听两个异步通知频道: channel1channel2

如果不想继续侦听 channel2 频道,请使用以下 UNLISTEN 命令:

UNLISTEN channel2;

要查看当前会话正在侦听的异步通知频道,请使用 pg_listening_channels() 函数:

SELECT pg_listening_channels();
 pg_listening_channels
-----------------------
 channel1
(1 rows)