【发布时间】:2019-05-07 23:04:33
【问题描述】:
跟踪进度的最佳方法是什么 PostgreSQL 11 中的长时间运行函数?
由于每个函数都在单个事务中执行,即使函数写入某个“日志”表,其他会话/事务也无法看到此输出,除非函数以 SUCCESS 完成。
我在这里读到了一些尝试,但它们是从 2010 年开始的。
https://www.endpointdev.com/blog/2010/04/viewing-postgres-function-progress-from/
而且,这种方法看起来非常不方便。
截至目前,跟踪进度的最佳方式是什么?
我知道的一种方法...是将 func 转换为过程,然后在 SP 中进行部分提交。但是如果我想从函数中返回一些结果集怎么办......在那种情况下我不能把它变成一个SP,对吧?那么...在这种情况下如何进行?
非常感谢。
注意:该函数是用 PL/pgSQL 编写的,这是 PostgreSQL 中最常见的过程 SQL 语言。
【问题讨论】:
-
函数是用什么语言编写的?根据您使用的内容,可能会有更多/更少的可用设施
-
我认为@Jeremy 是对的。在我研究过这个的时候,似乎唯一的选择是笨拙的,而不是大多数人都愿意投入生产的东西。我希望这可以作为一项功能添加。
-
该函数是用 PL/pgSQL 编写的,这是 PostgreSQL 中最常见的过程 SQL 语言。
-
请注意,原问题中提到的博文已移至:endpointdev.com/blog/2010/04/…