我正在为并行聚合函数编写 Postgres C 扩展。通常,在 C 或 C++ 中,我得到我的线程 ID 和要完成的工作的索引,然后我可以确保可以在没有依赖关系的情况下完成工作,并且最终结果总是正确的。
在我正在操作的行上没有获得索引(表上的行号,而不是 postgres 索引)以及工作人员 ID,我无法使用我的聚合函数处理任何内容并保证正确性。
- 有没有办法在 postgres 上获取 worker_id 以进行并行 C 聚合扩展?
- 有没有办法从 C 聚合函数中获取行索引/id/编号,而不必在 SQL 中计算它并将其作为列传递给我的函数?
至少我知道工人ID存在,只是不知道如何获得它。