阻止 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 直到结果可用 的相关文章

  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 如何使用 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 命令发