On Tue, Feb 11, 2025 at 2:04 PM Jeff Davis <pg...@j-davis.com> wrote: > ... > Storing work_mem in each Plan node, and using that to enforce the > memory limit (rather than using the GUC directly), seems > uncontroversial to me. I'd suggest a standalone patch.
I will submit a patch for this, thanks. (This will be "Patch 3".) > Storing the optimizer's estimate of the memory wanted also sounds like > a good idea. Let's pick a better name than "nbytes" though; maybe > "requested_mem" or something? This change would make it a lot easier > for an extension to adjust the per-node-work_mem, and also seems like > good infrastructure for anything we build into the planner later. I > suggest a standalone patch for this, as well. I will submit a patch for this as well. (This will be "Patch 1".) I went with "workmem" instead of "nbytes," for the estimate; and "workmem_limit" for the limit. By omitting the underscore character between "work" and "mem", this makes it a bit easier to distinguish between the "work_mem" GUC, the "workmem" estimate, and the "workmem_limit" limit. > Can you write a useful extension with just the above two core patches? I think so; I will attach a patch for that as well.. (This will be "Patch 4"; note that "Patch 2" is a prerequisite for "Patch 3".) > Regards, > Jeff Davis Thanks, James Hunter