Hi

Thank you for your review.

> From: Pavel Stehule <[email protected]> 
> Sent: Sunday, December 14, 2025 4:40 PM
> To: Michael Paquier <[email protected]>
> Cc: Iwata, Aya/岩田 彩 <[email protected]>; Peter Smith 
> <[email protected]>; Chao Li <[email protected]>; Kuroda, Hayato/黒田 
> 隼人 <[email protected]>; pgsql-hackers <[email protected]>
> Subject: Re: [PROPOSAL] Termination of Background Workers for ALTER/DROP 
> DATABASE
> 
> +#define BGWORKER_EXIT_AT_DATABASE_CHANGE       0x0004 
> 
> I am checking this patch, and I think so used names can be little bit 
> confusing
> 
> BGWORKER_EXIT_AT_DATABASE_CHANGE - it is used for disconnecting workers on 
> the template database, and this database is not changing.
> 
> TerminateBgWorkersByDbOid - it doesn't terminate all workers, but only 
> workers with some special flags
> 
> Maybe BGWORKER_INTERRUPTABLE and TerminateInterruptableBgWorkersByDbOid ?

Thank you for your advice.
I changed the name of a function and a flag. 

> Another question is if this cancellation should be implicit and should not 
> require some special flag.
> 
> When I want to disconnect connections to database when I do drop, I have to 
> use FORCE flag
> 
> So maybe there should be ALTER DATABASE ... RENAME ... FORCE - or if FORCE 
> can terminare all workers (without special FLAG) ?

For the proposed feature, we've added a flag allowing each extension developer 
to decide whether to terminate it via DROP/ALTER DATABASE.
Adding a FORCE option to ALTER to let database definition modifiers decide 
whether to force termination of background workers might be better discussed in 
a separate thread.

Best Regards,
Aya Iwata

Attachment: v0010-0001-Allow-background-workers-to-be-terminated.patch
Description: v0010-0001-Allow-background-workers-to-be-terminated.patch

Reply via email to