Re: IPC/MultixactCreation on the Standby server

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Andrey Borodin <x4mmm@yandex-team.ru>, Maxim Orlov <orlovmg@gmail.com>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, pgsql-hackers@lists.postgresql.org, Ivan Bykov <i.bykov@modernsys.ru>, Kirill Reshke <reshkekirill@gmail.com>
Date: 2025-12-05T21:39:49Z
Lists: pgsql-hackers
On 05/12/2025 20:36, Andrey Borodin wrote:
>> On 5 Dec 2025, at 21:36, Maxim Orlov <orlovmg@gmail.com> wrote:
>>
>> It's good that the test was added. But it seems like it could be
>> improved a bit. The problem is, it only runs successfully with a
>> standard block size. Plus, the comment about the number of bytes was a
>> bit unclear, for my taste. PFA patch, it should make this test pass
>> with different block sizes.
> 
> Oh, great catch!
> 
> Other tests seem to extract block size using database query like
> 
> $primary->safe_psql('postgres',
> "SELECT setting::int FROM pg_settings WHERE name = 'block_size';");
> or
> $blksize = int($node->safe_psql('postgres', 'SHOW block_size;'));
> 
> But here we do not have running cluster, so resorting to parsing pg_resetwal seems reasonable.

+1, pg_resetwal makes sense here. Calculating the filename of the last 
SLRU segment also needs to be adjusted. It was hardcoded to FFFF, but 
it's different with other block sizes.

Fixed that and committed. Thanks!

P.S. I'm surprised we don't have any buildfarm members with non-default 
block sizes.

- Heikki




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix test to work with non-8kB block sizes

  2. Fix setting next multixid's offset at offset wraparound

  3. Add test for multixid wraparound

  4. Set next multixid's offset when creating a new multixid

  5. psql: Improve tab completion for large objects.

  6. Refactor some repetitive SLRU code

  7. Transaction IDs wrap around, per my proposal of 13-Aug-01. More