gpt4 book ai didi

postgresql - 如何为 PostgreSQL 11 服务器设置后台 worker ?

转载 作者:行者123 更新时间:2023-11-29 12:49:44 24 4
gpt4 key购买 nike

最近我被分配将部分数据库从 Oracle 迁移到 PostgreSQL 环境,作为测试实验。在此过程中,我遇到的主要缺点是缺乏简单的方法来实现并行性,这是由于多种设计原因所必需的,但在这里并不那么相关。最近我发现了https://www.postgresql.org/docs/11/bgworker.html以下过程是我想到的解决问题的方法。

然而并非如此,因为我无法轻易找到任何教程或示例如何实现它,即使是在进程运行时将调试消息写入记录器这样的简单任务也是如此。我尝试了一些旧方法,在 9.3 版的一些插件规范中提出,但它们没有太大帮助。

我想知道如何正确设置这些 worker 。如有任何帮助,我们将不胜感激。

PS:此外,如果一些好心人找到了将游标批量收集到 PostgreSQL 中的解决方法,那么您将非常感谢,分享它。

最佳答案

您链接到的 bgworker 文档用于编写 C 代码,这可能不是您想要的。您可以使用 pg_background扩展,它将做你想做的。 ora2pg 在使用自治事务 pragma 转换 oracle 过程时可选择使用 pg_background。另一种选择是使用 dblink 打开与当前数据库的连接。

这两种解决方案都不是很好,但如果您需要将数据存储在表中,无论封闭事务是否成功,这都是唯一的方法。如果您只需将内容放入日志就可以解决问题,则可以改用 RAISE NOTICE。

就游标的批量收集而言,我不确定您是如何使用它们的,但设置返回函数可能会对您有所帮助。 postgres 中的函数可以返回多行而无需摆弄游标。

关于postgresql - 如何为 PostgreSQL 11 服务器设置后台 worker ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57094014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com