Index: src/bin/initdb/initdb.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/initdb/initdb.c,v
retrieving revision 1.133
diff -c -c -r1.133 initdb.c
*** src/bin/initdb/initdb.c	16 Feb 2007 02:10:07 -0000	1.133
--- src/bin/initdb/initdb.c	20 Feb 2007 23:46:19 -0000
***************
*** 1208,1214 ****
  
  	for (i = 0; i < bufslen; i++)
  	{
! 		test_buffs = trial_bufs[i];
  		if (test_buffs <= ok_buffers)
  		{
  			test_buffs = ok_buffers;
--- 1208,1215 ----
  
  	for (i = 0; i < bufslen; i++)
  	{
! 		/* Use same amount of memory, independent of BLCKSZ */
! 		test_buffs = (trial_bufs[i] * 8192) / BLCKSZ;
  		if (test_buffs <= ok_buffers)
  		{
  			test_buffs = ok_buffers;
Index: src/include/pg_config_manual.h
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config_manual.h,v
retrieving revision 1.24
diff -c -c -r1.24 pg_config_manual.h
*** src/include/pg_config_manual.h	6 Feb 2007 09:16:08 -0000	1.24
--- src/include/pg_config_manual.h	20 Feb 2007 23:46:19 -0000
***************
*** 25,30 ****
--- 25,34 ----
   */
  #define BLCKSZ	8192
  
+ #if BLCKSZ < 1024
+ #error BLCKSZ must be >= 1024
+ #endif
+ 
  /*
   * RELSEG_SIZE is the maximum number of blocks allowed in one disk
   * file.  Thus, the maximum size of a single file is RELSEG_SIZE *
