我有一个C#客户端应用程序,使用Npgsql调用PostgreSQL 9.1.4中的plpgsql函数。该函数需要很长时间,我希望以某种方式向客户端报告进度。我该怎么做?
LISTEN / NOTIFY机制听起来非常完美,但整个过程都在事务内运行,而NOTIFY事件直到事务结束才发送,对我毫无用处。
我尝试的另一件事是RAISE NOTICE,我可以在客户端上处理它们,但即使那些通知似乎也会被缓冲一段时间并分批发送。这比没有好,但不是理想的。是否有任何方法可以“刷新”它们,以便立即将它们发送给客户端?