Another thing I would like to propose is minor adjustments to the docs related to parallel query:
A custom scan provider will typically add paths for a base relation by setting the following hook, which is called after the core code has generated all the access paths it can for the relation (except for Gather paths, which are made after this call so that they can use partial paths added by the hook):
For clarity, I think "except for Gather paths" should be "except for Gather and Gather Merge paths".
Although this hook function can be used to examine, modify, or remove paths generated by the core system, a custom scan provider will typically confine itself to generating CustomPath objects and adding them to rel using add_path.
For clarity, I think "adding them to rel using add_path" should be eg, "adding them to rel using add_path, or using add_partial_path if they are partial paths".
+1. I can see that this change makes the doc more consistent with the comments in set_rel_pathlist.