On Thu, Aug 18, 2022 at 5:38 AM Andres Freund <andres@anarazel.de> wrote:
I don't think we have the infrastructure for a nice solution to this at the moment - we need a fairly large overhaul of process initialization / shutdown to handle these interdependencies nicely.
Ok, understood.
We can't move pgstat shutdown into on_dsm callback because that's too late to allocate *new* dsm segments, which we might need to do while flushing out pending stats.
Thanks for the hint. I will try that approach. I wonder though if there is something more we can do. For example, would it make sense to throw a WARNING and avoid segfault if pgstat machinery is already shutdown? Just worried if the code can be reached from multiple paths and testing all of those would be difficult for extension developers, especially given this may happen in error recovery path.