> When the postmaster starts up, it tells me that:
>
> database was initialized with BLCKSZ 16384,
> but the backend was compiled with BLCKSZ 8192.
> looks like you need an initdb.
>
It sounds from that error message like your 7.1.2 version of PostgreSQL was
modified and compiled from source. The default BLCKSZ is 8192, which is what
your 7.1.3 version is using. I think you need to modify the BLCKSZ for 7.1.3
to match that of your database, and recompile, if you want to avoid losing
it.
See <postgres source tree>/src/include/config.h for the section that looks
like the following:
--------------------------------------------------------------
/*
* Size of a disk block --- this also limits the size of a tuple.
* You can set it bigger if you need bigger tuples (although TOAST
* should reduce the need to have large tuples, since fields can now
* be spread across multiple tuples).
*
* The maximum possible value of BLCKSZ is currently 2^15 (32768).
* This is determined by the 15-bit widths of the lp_off and lp_len
* fields in ItemIdData (see include/storage/itemid.h).
*
* CAUTION: changing BLCKSZ requires an initdb.
*/
#define BLCKSZ 8192
--------------------------------------------------------------
and change
#define BLCKSZ 8192
to
#define BLCKSZ 16384
Then recompile.
Hope this helps,
-- Joe