Re: Patch to address creation of PgStat* contexts with null parent context

Поиск
Список
Период
Сортировка
От Drouvot, Bertrand
Тема Re: Patch to address creation of PgStat* contexts with null parent context
Дата
Msg-id 0010f0a6-136f-2504-5714-5f80a1c5b2a7@amazon.com
обсуждение исходный текст
Ответ на Re: Patch to address creation of PgStat* contexts with null parent context  (Andres Freund <andres@anarazel.de>)
Ответы Re: Patch to address creation of PgStat* contexts with null parent context  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Список pgsql-hackers

Hi,

On 8/7/22 4:19 AM, Andres Freund wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



Hi,

On 2022-08-05 17:22:38 +0900, Kyotaro Horiguchi wrote:
I think it a bit different.  Previously that memory (but for a bit
different use, precisely) was required only when stats data is read so
almost all server processes didn't need it.  Now, every server process
that uses pgstats requires the two memory if it is going to write
stats.  Even if that didn't happen until process termination, that
memory eventually required to flush possibly remaining data.  That
final write might be avoidable but I'm not sure it's worth the
trouble.  As the result, calling pgstat_initialize() is effectively
the declaration that the process requires the memory.
I don't think every process will end up calling pgstat_setup_memcxt() -
e.g. walsender, bgwriter, checkpointer probably don't? What do we gain by
creating the contexts eagerly?


Thus I thought that we may let pgstat_initialize() promptly allocate
the memory.
That makes some sense - but pgstat_attach_shmem() seems like a very strange
place for the call to CreateCacheMemoryContext().


I wonder if we shouldn't just use TopMemoryContext as the parent for most of
these contexts instead. CacheMemoryContext isn't actually a particularly good
fit anymore.

Could using TopMemoryContext like in the attach be an option? (aka changing CacheMemoryContext by TopMemoryContext in the 3 places of interest): that would ensure the 3 pgStat* contexts to have a non NULL parent context.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: Clarify restriction on partitioned tables primary key / unique indexes
Следующее
От: Richard Guo
Дата:
Сообщение: Re: [POC] Allow flattening of subquery with a link to upper query