Re: making relfilenodes 56 bits - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: making relfilenodes 56 bits
Date
Msg-id CA+hUKG+ZrDms7gSjckme8YV2tzxgZ0KVfGcsjaFoKyzQX_f_Mw@mail.gmail.com
Whole thread Raw
In response to Re: making relfilenodes 56 bits  (Simon Riggs <simon.riggs@enterprisedb.com>)
Responses Re: making relfilenodes 56 bits  (Simon Riggs <simon.riggs@enterprisedb.com>)
List pgsql-hackers
On Thu, Jun 30, 2022 at 12:41 AM Simon Riggs
<simon.riggs@enterprisedb.com> wrote:
> The reason to mention this now is that it would give more space than
> 56bit limit being suggested here.

Isn't 2^56 enough, though?  Remembering that cluster time runs out
when we've generated 2^64 bytes of WAL, if you want to run out of 56
bit relfile numbers before the end of time you'll need to find a way
to allocate them in less than 2^8 bytes of WAL.  That's technically
possible, since SMgr CREATE records are only 42 bytes long, so you
could craft some C code to do nothing but create (and leak)
relfilenodes, but real usage is always accompanied by catalogue
insertions to connect the new relfilenode to a database object,
without which they are utterly useless.  So in real life, it takes
many hundreds or typically thousands of bytes, much more than 256.



pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: Add test of pg_prewarm extenion
Next
From: Fujii Masao
Date:
Subject: Backup command and functions can cause assertion failure and segmentation fault