| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | Sami Imseih <samimseih(at)gmail(dot)com> |
| Cc: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Improve LWLock tranche name visibility across backends |
| Date: | 2025-07-15 17:12:06 |
| Message-ID: | aHaL5uFCaj_cfueU@nathan |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Jul 15, 2025 at 12:06:00PM -0500, Sami Imseih wrote:
> On Tue, Jul 15, 2025 at 11:57 AM Nathan Bossart
> <nathandbossart(at)gmail(dot)com> wrote:
>> I was imagining putting the array in one big DSA allocation instead of
>> carting around a pointer for each tranche name. (Sorry, I realize I am
>> hand-waving over some of the details.)
>
> I understood it like this. Here is a sketch:
>
> ```
> dsa_pointer p;
>
> dsa = dsa_create(....)
>
> p = dsa_allocate(dsa, LWLockTranchesInitialSize());
> tranche_names = (char **) dsa_get_address(dsa, p);
> tranche_names[0] = "my tranche";
> tranche_names[1] = "my tranche";
> ```
>
> We will need to track the size and resize if needed.
>
> Is this what you mean, from a high level?
Yes, that's roughly what I had in mind. We might need to employ some
tricks to avoid a limit on tranche name length, but maybe that's not worth
the energy.
--
nathan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | vignesh C | 2025-07-15 17:24:08 | Re: Log prefix missing for subscriber log messages received from publisher |
| Previous Message | Masahiko Sawada | 2025-07-15 17:07:11 | Re: POC: enable logical decoding when wal_level = 'replica' without a server restart |