我在 PostgreSQL 9.6.1 上使用 dblink 扩展并行运行任务时遇到奇怪的问题。看起来扩展在某些情况下无法识别连接中的任务已经结束并且仍在等待结果。因此,过去可以在 PG 9.5 上完美运行的程序有时会无限期地挂在 PG 9.6 上。
程序:
- 使用“执行 dblink_connect”打开连接
- 使用“dblink_send_query”发送查询
- 其他任务被发送到不同的连接
- 程序获取第一个连接并发出“dblink_get_result”并等待输出
- 在需要第二个连接等之后 - 其中一些连接已经结束,因此它们应该在“dblink_get_result”开始后立即给出结果,但在某些情况下它在 PG 9.6 上不起作用并检查只是挂起......
PG 9.6 中的 dblink 行为是否有一些我不知道的变化?