>>>> However, I'm wondering if the better approach wouldn't be to change fd.c
>>>> to use a long-lived memory context. Then all bookkeeping would happen
>>>> automatically and the memory size could simply be reported via existing
>>>> memory context stats infrastructure.
>>>>
>>>> Not entirely sure though if there's some roadblock when switching to a
>>>> memory context.
>>> I don't see any issue with this either. However, the only benefit we
>> would
>>> gain is using existing infrastructure but only for backend vfd cache
>> memory
>>> (i.e cache_bytes).
>>> Everything else stays the same (counters, cluster-wide memory);
>> therefore,
>>> if there's no other benefit to replacing with memory contexts, maybe it's
>>> not worth it.
>>
>> The biggest benefit in my view is consistency with the rest of PostgreSQL.
>> That is from a usage point of view as well as from a coding point of view.
>> If you want, I can give that a try and share a patch with you if
>> successful.
>>
> Yes of course, I’d be happy to take a look.
Attached is the patch. It's pretty small and passes regress tests.
--
David Geier