pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Merge init and max size options on shmem hash tables
Date: Fri, 03 Apr 2026 23:57:54 +0000
Message-ID: <E1w8oOf-002pS1-11@gemulon.postgresql.org> (raw)

Merge init and max size options on shmem hash tables

Replace the separate init and max size options with a single size
option. We didn't make much use of the feature, all callers except the
ones in wait_event.c already used the same size for both, and the hash
tables in wait_event.c are small so there's little harm in just
allocating them to the max size.

The only reason why you might want to not reserve the max size upfront
is to make the memory available for other hash tables to grow beyond
their max size. Letting hash tables grow much beyond their max size is
bad for performance, however, because we cannot resize the directory,
and we never had very much "wiggle room" to grow to anyway so you
couldn't really rely on it. We recently marked the LOCK and PROCLOCK
tables with HAS_FIXED_SIZE, so there's nothing left in core that would
benefit from more unallocated shared memory.

Reviewed-by: Tomas Vondra <tomas@vondra.me>
Discussion: https://www.postgresql.org/message-id/01ab1d41-3eda-4705-8bbd-af898f5007f1@iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9ebe1c4f2c7cecd0fc2d02afd87a74f6ba44569e

Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c |  2 +-
src/backend/storage/buffer/buf_table.c          |  2 +-
src/backend/storage/ipc/shmem.c                 | 16 ++++------------
src/backend/storage/lmgr/lock.c                 |  2 --
src/backend/storage/lmgr/predicate.c            |  3 ---
src/backend/utils/activity/wait_event.c         | 22 +++++++++-------------
src/include/storage/shmem.h                     |  2 +-
7 files changed, 16 insertions(+), 33 deletions(-)



Message-ID: <E1w8oOf-002pS1-11@gemulon.postgresql.org>
Permalink:  ../E1w8oOf-002pS1-11@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1w8oOf-002pS1-11@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: heikki.linnakangas@iki.fi, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Merge init and max size options on shmem hash tables
  In-Reply-To: <E1w8oOf-002pS1-11@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox