> Would it be useful to put the logic of the above function under #define > USE_INJECTION_POINT. This approach would make it possible to > distinguish between cases where no injection points are attached and > instances where the build does not support injection points.
For this one, I've found that InjectionPointList() was the incorrect bit: we can make it issue an elog(ERROR) if !USE_INJECTION_POINTS. This way, none of its callers will be confused between the case of a NIL List meaning either !USE_INJECTION_POINTS or that there are no points attached if the build uses USE_INJECTION_POINTS.
The changes LGTM.
Should the execution privileges on the function be restricted to a role like pg_monitor?