"Mitch Vincent" <[EMAIL PROTECTED]> writes: > It wasn't PostgreSQL, it was me of course! > Seeing as it was so long ago, I forgot that the BLCKSZ on the production > server wasn't 32k, it was 31k (for whatever reason).. When I set the BLCKSZ > lower than that and tried to start the backend it told me that the database > was initialized with a BLCKSZ of 31k, strange that it didn't say that when I > compiled with a BLCKSZ of 32k but regardless of all that it was my stupidity > that was the problem, nothing more.. Hmm, there is a test specifically designed to catch this mistake in backend/access/transam/xlog.c: the initdb-time BLCKSZ is stored in pg_control, and we have if (ControlFile->blcksz != BLCKSZ) elog(STOP, "database was initialized with BLCKSZ %d,\n\tbut the backend was compiled with BLCKSZ %d.\n\tlooks like you need to initdb.", ControlFile->blcksz, BLCKSZ); But I haven't stress-tested it. From your report, it sounds like something may blow up before control gets to this point if the compiled BLCKSZ is larger than the value used by initdb :-( regards, tom lane