Java postgresql通知通道
我目前正在使用postgresql的Notify/Listen机制,并尝试将其与触发器结合起来,以检测db表中的更改,并将其发送给用Java编写的外部观察程序。在我的测试中,我发现如果没有连接到notify或listen创建的通道,那么它似乎不会持续。例如,如果通知程序执行NOTIFY mymessage“blah blah”sql脚本,然后关闭连接,如果当前没有侦听通道mymessage的侦听器,则该通道将被删除,这意味着有效负载“blah blah”将丢失Java postgresql通知通道,java,postgresql,Java,Postgresql,我目前正在使用postgresql的Notify/Listen机制,并尝试将其与触发器结合起来,以检测db表中的更改,并将其发送给用Java编写的外部观察程序。在我的测试中,我发现如果没有连接到notify或listen创建的通道,那么它似乎不会持续。例如,如果通知程序执行NOTIFY mymessage“blah blah”sql脚本,然后关闭连接,如果当前没有侦听通道mymessage的侦听器,则该通道将被删除,这意味着有效负载“blah blah”将丢失 有人知道如何配置postgresq
有人知道如何配置postgresql数据库,使创建的通知通道永久化,以防止消息丢失吗?或者,有人知道如何防止postgresql表中检测到的事件丢失吗 感谢陈述: 当前在该通知通道上侦听的所有会话都是 通知 我的。所以没有-没有什么可配置的 如果您想将某些消息保存在某个位置,以便其他会话稍后可以读取它,则应该使用公开可读的表,例如:message\u id bigint、message\u text。当然,它需要更多的关系,比如上次听到的消息id bigint,pid int,不要一次又一次地读取所有消息
如果您想模拟通道,您应该创建更多类似的表,或者在上面的两个表中添加列…如何防止postgresql表中检测到的事件丢失?您的意思是什么?。。