pg_listen

Name

pg_listen -- 设置或者改变一个侦听异步 NOTIFY 消息的回调(函数)

Synopsis

pg_listen conn notifyName ?callbackCommand?

描述

pg_listen 创建,修改或取消一个对来自 PostgreSQL 服务器的异步通知消息请求的侦听。 带有callbackCommand参数时,建立请求或者已经存在的命令字串被代替。 不带callbackCommand参数时,取消前面一个请求。

在一个 pg_listen 请求建立起来后, 当一个与给定名称匹配的通知消息从服务器到达后就执行声明的命令字串。 当任何PostgreSQL 客户应用发送一个引用该名称的 NOTIFY消息后都会发生这个过程. 命令行字串是从 Tcl 空闲循环运行的.那也是用 Tk 写的应用的正常的空闲状态. 在非 Tk 的 Tcl 脚本里,你可以执行 updatevwait 来促使进入空闲循环.

你在使用 pg_listen 时不应该直接调用 SQL 语句 LISTENUNLISTENpgtcl会替你使用那些语句。 但是如果你想自己发送一个NOTIFY消息,用 pg_exec 调用 SQL NOTIFY语句。

参数

conn

在其上侦听通知信息的连接句柄。

notifyName

声明的启停侦听(动作)的通知条件名称.

callbackCommand

如果存在,提供一个在匹配的通知到达时执行的命令字符串.

返回值