RE: [PROPOSAL] Termination of Background Workers for ALTER/DROP DATABASE

From: "Aya Iwata (Fujitsu)" <iwata(dot)aya(at)fujitsu(dot)com>
To: 'Pavel Stehule' <pavel(dot)stehule(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: RE: [PROPOSAL] Termination of Background Workers for ALTER/DROP DATABASE
Date: 2025-12-15 12:56:22
Message-ID: OS7PR01MB119647141272DBF9364A1C5AAEAADA@OS7PR01MB11964.jpnprd01.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

Thank you for your review.

> From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> Sent: Sunday, December 14, 2025 4:40 PM
> To: Michael Paquier <michael(at)paquier(dot)xyz>
> Cc: Iwata, Aya/岩田 彩 <iwata(dot)aya(at)fujitsu(dot)com>; Peter Smith <smithpb2250(at)gmail(dot)com>; Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>; Kuroda, Hayato/黒田 隼人 <kuroda(dot)hayato(at)fujitsu(dot)com>; pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
> 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 Content-Type Size
v0010-0001-Allow-background-workers-to-be-terminated.patch application/octet-stream 13.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ashutosh Bapat 2025-12-15 13:13:08 Re: SQL Property Graph Queries (SQL/PGQ)
Previous Message Amit Langote 2025-12-15 12:56:12 Re: Qual push down to table AM