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