Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5I8o-0036ES-06 for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 06:54:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5I8m-00CShH-1j for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 06:54:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5I8m-00CSh8-0n for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 06:54:56 +0000 Received: from mail-qk1-x72a.google.com ([2607:f8b0:4864:20::72a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5I8k-00000000vOd-44Ra for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 06:54:55 +0000 Received: by mail-qk1-x72a.google.com with SMTP id af79cd13be357-8cfcb045909so596925685a.0 for ; Tue, 24 Mar 2026 23:54:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774421694; cv=none; d=google.com; s=arc-20240605; b=LHLFjm1vRKLvkF8dYIxcPJS2vXxKOyCz6hC/f4Mqm+e84dD5cGFD5avLjZS0q6NFX9 wknroNg3RBjtH7zE2EFNitiGwp1rjrnIFHDPF48KxKZntpvMdUQMGk6W2XANHnvuWcv+ 4yijLMSnlHHmxst/K9zxRZHHgbJV8e1vKE8NLf4GY/i23j8rZhhIlsQE9Q+J+xHLk+Zp nDruaAOGQ492MLPpxYCWqdoM06ugCcd3Emxy5s+bMXp0MZBDCJFE4NksfGGkEpGlhy2K 8SFQ5D43aU5odz/WSbCQKAz3iM8noi1kMFDtmwfvJOvrUxvQv4iFE7Hn7Etkpsh4hFOq ByuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=pDOKUe3lSjKq2hHqFFziJTXhhdrXt8CGYMKokH+SkAM=; fh=oH+Qh10/LSrQHe4qxlPZWODKXOsvT0ZPC6zWUAh4qIg=; b=Z7RvkDz8YsNI1a1ZcAfAgTyP7aZGh81T+SNgq5qpf1V/wINOSv5JsXJz8h0c1D5mSV GtKlGvv0+baOYmE8XlrBPp2o6YWFpSJKDPLR9hKx9vNE+Xm3DIWqtykTqwlbikYdm3g5 wUMqWMSHBLJVrM9LZnETkaUlLLd5sX6uGvjag6j/2aTIQ5CwfqdAOHvbbmSSXM3r2QVD u1g7GffhDCypJVjmSh4bPEp+RFDdDnJ45HS//NwezrEY1sZqMo8G+rIE7ZAKG0EhxIPN wJiiZHpsQspo38TPmhCYe/RVBcw0Iy2OaLwlmh5DeoglFeejzor8+PKl4ox/6Uvxn58L /Wpw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fittl.com; s=google; t=1774421694; x=1775026494; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pDOKUe3lSjKq2hHqFFziJTXhhdrXt8CGYMKokH+SkAM=; b=YT051fz2XowOrT4BHFF1qgfHk91T0+ySJx9YN6LRLrubsPf+8unWe7lrZkNaCNbZcL hQU3JommLISJMBCxBxXkGGxZSnDt7pnKI79TFvfw9gAD1N693xiwWO3Wbc32vcKDzSDG NkixwYyVI5DNFTXIx/jITcbyVqnPA4ofOocoU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774421694; x=1775026494; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pDOKUe3lSjKq2hHqFFziJTXhhdrXt8CGYMKokH+SkAM=; b=jiPQZ31r/dIgXfBYTA0A4cL6sZMulxVycGmfjAnOpnDFaXaHCLd5ERPWhixf2bkyeF CenWDtkdS4Fdt6Xg7+iZFyPArQ8v+kLL6BG6D6zl/GtZ+j2Iof+gQ/zm9+9bDz4jg4PS TBfV/WV/FNhxbwaovgHnjAQmDzJxyj5iAuH47z6GQtP+fnWS/znhSoi7sVN6xib4Yiew 20oHVsDF1itDG2jUasOyQ09079bGhZ2UGG/NAGktYe+BwmsrQlCq9O76iCGk7yumnTb/ 2azc2WIjYtb24od+NmgaKPPk/WBGA+nXT89spylIsBTcd9jHC9Xqe6F7tsNAlj5IjIVz BQmA== X-Gm-Message-State: AOJu0Yx0jj9XK+dFiLH+6tCySyNYr5L8v2m/qtFrBQiMn/Y5rUcz1B5R 2wrrP5813dVcUvjHEatGHwXmE+bTjokAplD98FVjsswRdwNKl5nF2Q3D6l52tEK095PEt+OKntl nwEQdgquJohWqIfCi6ydcLhrxneTwIsRcpbWYH7DuyxkyZ2c44glrfae7 X-Gm-Gg: ATEYQzwSfEFMkM3MENxTy4SfpOH6s2Lwo/cgBgM71VusqObelLmHbAQHz/poeSRNXAs P4n0t+XY0o09zxUbYxX3LQxjMH1DHx7XJtlPyK9jPEKlGMvFtbwVLeazBUZUq4RzdQA3ytew5eG /xw18xgfsm2lrGgIvN0U911obS3emdv0AOuZx+NXO1HO3ftjaGMFbZlH5603RcPrZ6wLyIEke3c DdCKcBPAfzMvOEVteNYMLh4IgS+lJEpFWJvLfb6ZnwzEU5Jf7hKm/Ium+ueS4xm2/SMeBGBDv7s GfXtIG1/+O9I+gD/BGO3Cvj09Tvbnabs1NWKc4vQpR2USlHiUWk= X-Received: by 2002:a05:620a:2584:b0:8cd:97de:bb52 with SMTP id af79cd13be357-8d000f5dc98mr334569585a.22.1774421694287; Tue, 24 Mar 2026 23:54:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Lukas Fittl Date: Tue, 24 Mar 2026 23:54:18 -0700 X-Gm-Features: AaiRm52FWwwGO6IPOkboK-qTI-3VuxFg1sRW_-388DfHDqFIGRBHiTnvwQ_8uxc Message-ID: Subject: Re: pg_buffercache: Add per-relation summary stats To: Bertrand Drouvot Cc: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Bertrand, Thanks for your review, and sorry it took me a while to get to it - other patches took more of my attention unexpectedly. On Mon, Mar 9, 2026 at 2:15=E2=80=AFAM Bertrand Drouvot wrote: > =3D=3D=3D 1 > > +typedef struct > +{ > + RelFileNumber relfilenumber; > + Oid reltablespace; > + Oid reldatabase; > + ForkNumber forknum; > +} BufferRelStatsKey; > > What about making use of RelFileLocator (instead of 3 members relfilenumb= er, > reltablespace and reldatabase)? Agreed, and noted by others later too - will adjust. > + > + The pg_buffercache_relation_stats() function ret= urns a > + set of rows summarizing the state of all shared buffers, aggregated b= y > + relation and fork number. Similar and more detailed information is > + provided by the pg_buffercache view, but > + pg_buffercache_relation_stats() is significantly > + cheaper. > + > > I'm not 100% sure about the name of the function since the stats are "res= et" > after a rewrite. What about pg_buffercache_relfilenode or > pg_buffercache_aggregated? I'll gone with "pg_buffercache_relations" for now in v2, but I could also see "pg_buffercache_relfilenodes" making sense, if we wanted to be more clear about the fact that these are physical relation files, not logical relations. Thanks, Lukas --=20 Lukas Fittl