Re: BUG #19508: pg_buffercache_pages() crashes the backend with an incompatible caller-supplied record definition

Ashutosh Sharma <ashu.coek88@gmail.com>

From: Ashutosh Sharma <ashu.coek88@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: n.kalinin@postgrespro.ru, pgsql-bugs@lists.postgresql.org
Date: 2026-06-09T04:38:58Z
Lists: pgsql-bugs
On Fri, Jun 5, 2026 at 9:08 PM Fujii Masao <masao.fujii@gmail.com> wrote:
>
> On Sat, Jun 6, 2026 at 12:29 AM Ashutosh Sharma <ashu.coek88@gmail.com> wrote:
> > pg_buffercache_pages uses RETURNS SETOF RECORD whereas other
> > extensions like pgstattuple define explicit IN/OUT parameters at the
> > SQL level. Is there a specific reason this pattern was kept, or is it
> > simply a legacy design that hasn't been modernized? Had we followed
> > the IN/OUT parameter style, this sort of issue could have been
> > avoided, no?
>
> Probably yes. But if we do that, we would likely need to bump pg_buffercache
> version. I'm not sure that's worthwhile just for this change.
>

Okay, that makes perfect sense, thanks for the confirmation.

--
With Regards,
Ashutosh Sharma.



Commits

  1. pg_buffercache: restore rowtype verification in pg_buffercache_pages()

  2. Modernize and optimize pg_buffercache_pages()