Hi Rui, > Prior to PG16, postmaster children would manually detach from shared memory > if it was not needed. However, this behavior was removed in fork mode in > commit aafc05d. > > Detaching shared memory when it is no longer needed is beneficial, as > postmaster children (like syslogger) don't wish to take any risk of > accidentally corrupting shared memory. Additionally, any panic in these > processes will not reset shared memory. > > The attached patch addresses this issue by detaching shared memory after > fork_process().
Thanks for the patch. How do you estimate its performance impact? Note the comments for postmaster_child_launch(). This function is exposed to the third-party code and guarantees to attach shared memory. I doubt that there is much third-party code in existence to break but you should change to comment. -- Best regards, Aleksander Alekseev