返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

LISTEN

发布于 2019-09-30 03:11:41 字数 1153 浏览 1034 评论 0 收藏 0

名称

LISTEN--监听一个通知

语法

LISTEN name

描述

LISTEN 将当前会话注册为通知条件 name 的监听器。如果当前会话已经被注册为该通知条件的监听器,那么什么也不做。

当执行了命令 NOTIFY name 后,不管是此会话还是其它连接到同一数据库的会话,所有正在监听此通知条件的会话都将收到通知,并且接下来每个会话将通知与其相连的前端应用。请参考 NOTIFY 获取更多信息。

使用 UNLISTEN 命令可以将一个会话内已注册的通知条件删除。同样,会话退出时自动删除该会话正在监听的已注册通知条件。

前端应用检测通知事件的方法取决于 PostgreSQL 应用使用的编程接口。如果使用基本的 libpq 库,那么应用将 LISTEN 当作普通 SQL 命令使用,而且必须周期地调用 PQnotifies 过程来检测是否有通知到达。其它像 libpgtcl 接口提供了更高级的控制通知事件的方法;实际上,使用 libpgtcl 的应用程序员不应该直接使用 LISTENUNLISTEN 。请参考你使用的接口的文档获取更多细节。

NOTIFY 的手册页包含更广泛的关于 LISTENNOTIFY 的使用的讨论。

参数

name

通知条件的名字,可以是任意标识符。

例子

在 psql 里配制和执行一个监听/通知序列:

LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.

兼容性

SQL 标准里没有 LISTEN 语句。

又见

NOTIFY, UNLISTEN

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文