阻止 SELECT 直到结果可用

2024-01-22

我正在尝试编写一个用于“长轮询”的 PHP 脚本,当新行添加到(Postgres)数据库表时返回数据。有没有办法让 SELECT 查询仅在返回结果时返回,否则阻塞?或者我应该使用数据库之外的另一种信号机制?


看看听/通知:

NOTIFY 命令发送一个 向每个客户端通知事件 之前有过的应用程序 为指定执行的 LISTEN 名称 当前通知名称 数据库

http://www.postgresql.org/docs/8.4/static/sql-notify.html http://www.postgresql.org/docs/8.4/static/sql-notify.html

您可以向表添加“ON INSERT”触发器以触发 NOTIFY 事件。但是,您将需要另一种机制来弄清楚which需要选择记录,因为使用 NOTIFY 事件传递有效负载的能力直到 9.0 才可用:

http://www.postgresql.org/docs/9.0/static/sql-notify.html http://www.postgresql.org/docs/9.0/static/sql-notify.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 SELECT 直到结果可用 的相关文章

随机推荐

  • 如何使用 AngularJS 更新/编辑数据库中的数据

    在开发网络应用程序时 我刚刚添加了以下更新代码 但它不起作用 以下所有代码的摘要是 单击名为的按钮update 它会显示表格 其中应包含单击 当前产品的值 现在 当我以这种形式点击 保存 时 它应该更新数据库 但事实并非如此 我在用 GET
  • Files.createDirectory() :FileAlreadyExistsException

    我在使用 Java 7 时遇到了一个看似奇怪的问题Files班级 我想在开始编写之前确保我的目录和文件存在 以避免FileNotFoundException 并根据Javadocs http docs oracle com javase 7
  • 带线程的 Python 超时上下文管理器

    I have timeout上下文管理器与信号完美配合 但在多线程模式下会引发错误 因为信号仅在主线程中工作 def timeout handler signum frame raise TimeoutException contextma
  • Django Rest框架-调用另一个基于类的视图

    我仔细研究了几个类似的帖子 并且从同一项目中的另一个应用程序调用应用程序的基于类的视图 https stackoverflow com questions 46606247 calling a class based view of an
  • shell脚本-检查mongodb服务器是否正在运行

    我有一个 shell 脚本来执行一些 mongo db 操作 e g mongo testdb eval db dropDatabase 但是 如果 mongodb 服务器没有运行 我会得到 MongoDB shell version 2
  • 访问 WPF DataGrid“空”或“行列”标头

    我试图访问 Net3 5 WPF DataGrid 中行标题和列标题交叉处的标题 乔什 史密斯 Josh Smith 在有关不同网格控件的文章中将其称为 空标题 我将其称为 RowColumn 标题 因为它位于列标题和行标题的第一个位置 并
  • 使用 Beta API 创建新会议时出现“onlinemeeting 不能为空”错误

    我正在尝试创建一个新会议文档 https developer microsoft com en us graph docs api reference beta api application post onlinemeetings POS
  • location.href 不起作用

    我早些时候使用过 location href 但现在它没有重定向到页面 这是我的代码 function AuthenticateUserWithPage var UId amwayId val username var UPw amwayP
  • Eclipse - Galileo IDE 在构建之前强制保存更改的文件?

    当我使用以前版本的 Eclipse 例如 Ganymede Europa 时 如果我编辑了一个文件然后尝试构建 Eclipse 会提示我先保存 由于我更新到 Galileo 构建 ID 20090920 1017 并刚刚检查更新 当我构建时
  • 如何使用 font-awesome 在 angular5 视图中显示评论星星

    我在数据库中有评论星级值 例子2 5对于一个项目 我想使用 font awesome 在模板中显示它 ul class rating inline ul li i class fa fa star amber text i li li i
  • 为什么GPU做矩阵乘法比CPU更快?

    我已经使用 GPU 一段时间了 没有质疑它 但现在我很好奇 为什么GPU做矩阵乘法比CPU快很多 是因为并行处理吗 但我没有写任何并行处理代码 它自己会自动完成吗 任何直觉 高级解释将不胜感激 如何并行计算 GPU 能够进行大量并行计算 比
  • 未找到 DNN 库。 (谷歌合作实验室)

    我正在开发一个 ML 项目 使用 Google Colab 和 Tensorflow 来训练 CNN 从 EfficientNetV2M 模型开始 它曾经工作得很好 直到两天前开始训练时 train model fit X y epochs
  • 在 MATLAB R2018a 及更高版本中将复数转换为实数,无需数据复制

    Since MATLAB R2018a https www mathworks com help releases R2018a matlab matlab external do i need to upgrade my mex file
  • 通过 Python 使用 BeautifulSoup 库

    我正在学习有关使用 Python 和 Beautiful Soup 库创建地图的教程 我已经下载了 beautiful soup 该文件夹名为 beautifulsoup4 4 1 3 该文件夹的内容在附图中 在教程中 我使用以下代码来导入
  • ASP.NET MVC html 帮助程序可以渲染没有 ID 属性的元素吗?

    假设我想在 ASP NET MVC 2 中生成与此类似的元素 是否有重载或方法可以让 ASP NET MVC 2 仅生成名称属性而不生成 ID 属性 我可以让它生成一个空白 ID 但我想生成根本没有 ID 的元素 并且不重写 asp net
  • 如果不满足两个条件,则拒绝或循环用户输入

    我是一个真正的 Python 初学者 尽管到目前为止我很喜欢它的每一分钟 我正在制作一个小程序 它接受用户输入 然后用它来做一些事情 我的问题是用户输入的数字必须 1 所有加起来不超过 1 即 a1 a2 a3 leq 1 2 每个单独 这
  • 回滚进化

    这个问题可能看起来很愚蠢 但我找不到任何关于如何在 Play 2 0 中回滚进化的说明 谷歌只找到说进化文件的 Downs 部分用于此目的的页面 仅此而已 任何指示或指示将不胜感激 The Downs部分主要用于在脚本更改时恢复 Evolu
  • Common Lisp 格式中可重复的差一问题

    I have format s tabs VT根据是否换行而表现不同 位于行首或行尾 我想知道为什么 不同之处在于 当换行符位于行尾时 行中似乎有一个额外的空格仅一审制表位的 下面举例说明 示例中唯一的区别在于格式控制字符串 它是 A VT
  • Chrome 扩展 PHP 无法运行

    我想在 Chrome 扩展中使用 PHP 我尝试将background html 更改为background php 但这不起作用 我怎样才能做到这一点 你不能这样做 PHP 是一种服务器端语言 这将要求所有用户安装 PHP 解释器 这是不
  • 阻止 SELECT 直到结果可用

    我正在尝试编写一个用于 长轮询 的 PHP 脚本 当新行添加到 Postgres 数据库表时返回数据 有没有办法让 SELECT 查询仅在返回结果时返回 否则阻塞 或者我应该使用数据库之外的另一种信号机制 看看听 通知 NOTIFY 命令发