Hi, On 2025-09-17 12:01:47 -0400, Robert Haas wrote: > > I keep thinking about how we handle parallelism in index builds. The > > index AM API did not get a bunch of new callbacks, it's all handled > > within the existing ambuild() callback. Shouldn't we be doing something > > like that for relation_vacuum()? > > I have a feeling that we might have made the wrong decision there.
You might be right. > That approach will probably require a good deal of code to be > duplicated for each AM. I'm not sure what the final solution should > look like here, but we want the common parts like worker setup to use > common code, while allowing each AM to insert its own logic in the > places where that is needed. The challenge in my view is to figure out > how best to arrange things so as to make that possible. I've actually been thinking about the structure of the index build code recently. There have been a bunch of requests, one recently on the list, to build multiple indexes with one table scan - our current code structure would make that a pretty hard feature to develop. Greetings, Andres Freund