我有一个C#客户端应用程序,使用Npg
sql在Postgre
sql 9.1.4中
调用一个plpg
sql函数.该
功能需要很长时间,我想以某种方式向客户报告进度.我该怎么办?
听到/ NOTIFY机制听起来是完美的,除了整个事情在一个事务中运行,NOTIFY事件不会发送到交易结束,这对我没用.
我尝试过的另一件事是RAISE NOTICE,我可以在客户端上处理,但即使这些通知似乎被缓冲了一段时间,并分批发送.没有什么好,但不是理想.有什么办法可以“冲洗”他们,所以立即被发送给客户?
没有比RAISE
通知更好的.
这些信号不是缓冲的 – 它们是异步的 – 你可能在应用程序的处理通知中有问题.