RE: [PROPOSAL] Termination of Background Workers for ALTER/DROP DATABASE
Aya Iwata (Fujitsu) <iwata.aya@fujitsu.com>
From: "Aya Iwata (Fujitsu)" <iwata.aya@fujitsu.com>
To: 'Pavel Stehule' <pavel.stehule@gmail.com>, Michael Paquier <michael@paquier.xyz>
Cc: Peter Smith <smithpb2250@gmail.com>, Chao Li <li.evan.chao@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-25T13:24:33Z
Lists: pgsql-hackers
Attachments
- v0011-0001-Allow-background-workers-to-be-terminated.patch (application/octet-stream)
- v0011-0002-Renamed-the-flag-to-BGWORKER_PROTECTED.patch (application/octet-stream)
Hi https://www.postgresql.org/message-id/aPBoXXW3XuwiIsHG%40paquier.xyz Based on previous discussions, we had configured DROP/ALTER DATABASE to terminate only background workers with specific parameters set. To reconsider the default behavior, I created the following patches: 0001 is the patch for the existing implementation. 0002 is the patch modified based on Pavel-san's suggestion. The 0002 patch changes the default behavior to terminate background workers when DROP/ALTER DATABASE is executed. It also includes a test set for this change. For background workers that should not be terminated, setting the BGWORKER_PROTECTED parameter prevents this. The relationship with the FORCE option during DROP DATABASE is as follows: FORCE option present, flag present... TERMINATE FORCE option present, flag absent... TERMINATE FORCE option absent, flag present... Does not TERMINATE due to the flag FORCE option absent, flag absent... TERMINATE I would like to know your comments on which implementation is preferable. Regards, Aya Iwata