Re: Add pg_stat_vfdcache view for VFD cache statistics

From: Ayoub Kazar <kazarayoub2004(at)gmail(dot)com>
To: David Geier <geidav(dot)pg(at)gmail(dot)com>
Cc: KAZAR Ayoub <ma_kazar(at)esi(dot)dz>, Tomas Vondra <tomas(at)vondra(dot)me>, Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add pg_stat_vfdcache view for VFD cache statistics
Date: 2026-09-02 12:38:13
Message-ID: CADu+CpT=ZYM2+zP41Dt8PRo=pmoY7TfN5Yc-Npp2T9tPOAvzbA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 2, 2026 at 11:27 AM David Geier <geidav(dot)pg(at)gmail(dot)com> wrote:

> >>> I chose to keep an accurate running count of the memory footprint per
> >>> backend by tracking both the sizeof(Vfd) and the exact filename string
> >>> lengths.
> >>>
> >>> We add the string length to the total footprint when a file is opened,
> >> and
> >>> subtract it when the VFD is freed (i suppose this is not "Too much" of
> a
> >>> work done, although it's done in a bit hot place); v5 of the patch is
> >>> attached.
> >> Better use GetMemoryChunkSpace() instead of using strlen() + 1, to get
> >> the true allocation size.
> >>
> > That wouldn't work because filename is malloc'd and not palloc'd, which
> is
> > what GetMemoryChunkSpace() works on IIUC.
> > Am i correct here?
> That's interesting an interesting realization. You're right that we
> cannot use GetMemoryChunkSpace() in that case.
>
> 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.

Regards,
Ayoub

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Vaibhav Dalvi 2026-09-02 12:39:40 Re: [PATCH] Add support for INSERT ... SET syntax
Previous Message Jakub Wartak 2026-09-02 12:21:51 Re: Adding basic NUMA awareness