Issues with blocksize smaller than 8KB

Casey Shobe <casey.allen.shobe@icloud.com>

From: Casey Shobe <casey.allen.shobe@icloud.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2025-10-17T15:42:12Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add static assertion that RELSEG_SIZE fits in an int.

I have been comparing performance of postgresql (18.0) compiled for various block sizes etc., and found that while 8kb and 16kb builds work fine, a 4kb build does not, with identical configuration.  When I try to initialize pgbench, --scale=10 works fine, but the --scale=100 I was trying and even just --scale=20 result in a long delay on the vacuum analyze step followed by Postgres crashing due to a segmentation fault.

I also found that initdb fails when I compile for a blocksize of either 1KB or 2KB build:

2025-10-17 15:39:13.182 UTC [97433] DETAIL:  The database cluster was initialized with RELSEG_SIZE 1895825408, but the server was compiled with RELSEG_SIZE 1895825408.
2025-10-17 15:39:13.182 UTC [97433] HINT:  It looks like you need to recompile or initdb.

- Casey