Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java postgresql通知通道_Java_Postgresql - Fatal编程技术网

Java postgresql通知通道

Java postgresql通知通道,java,postgresql,Java,Postgresql,我目前正在使用postgresql的Notify/Listen机制,并尝试将其与触发器结合起来,以检测db表中的更改,并将其发送给用Java编写的外部观察程序。在我的测试中,我发现如果没有连接到notify或listen创建的通道,那么它似乎不会持续。例如,如果通知程序执行NOTIFY mymessage“blah blah”sql脚本,然后关闭连接,如果当前没有侦听通道mymessage的侦听器,则该通道将被删除,这意味着有效负载“blah blah”将丢失 有人知道如何配置postgresq

我目前正在使用postgresql的Notify/Listen机制,并尝试将其与触发器结合起来,以检测db表中的更改,并将其发送给用Java编写的外部观察程序。在我的测试中,我发现如果没有连接到notify或listen创建的通道,那么它似乎不会持续。例如,如果通知程序执行NOTIFY mymessage“blah blah”sql脚本,然后关闭连接,如果当前没有侦听通道mymessage的侦听器,则该通道将被删除,这意味着有效负载“blah blah”将丢失


有人知道如何配置postgresql数据库,使创建的通知通道永久化,以防止消息丢失吗?或者,有人知道如何防止postgresql表中检测到的事件丢失吗

感谢

陈述:

当前在该通知通道上侦听的所有会话都是 通知

我的。所以没有-没有什么可配置的

如果您想将某些消息保存在某个位置,以便其他会话稍后可以读取它,则应该使用公开可读的表,例如:message\u id bigint、message\u text。当然,它需要更多的关系,比如上次听到的消息id bigint,pid int,不要一次又一次地读取所有消息


如果您想模拟通道,您应该创建更多类似的表,或者在上面的两个表中添加列…

如何防止postgresql表中检测到的事件丢失?您的意思是什么?。。