Index: src/backend/commands/vacuumlazy.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v
retrieving revision 1.76
diff -c -r1.76 vacuumlazy.c
*** src/backend/commands/vacuumlazy.c	31 Jul 2006 20:09:00 -0000	1.76
--- src/backend/commands/vacuumlazy.c	27 Aug 2006 14:06:10 -0000
***************
*** 450,455 ****
--- 450,464 ----
  		{
  			lazy_record_free_space(vacrelstats, blkno,
  								   PageGetFreeSpace(page));
+ 		} else if (!nindexes) {
+ 			/* If there are no indexes we can vacuum the page right now instead
+ 			 * of doing a second scan */
+ 
+ 			LockBuffer(buf, BUFFER_LOCK_UNLOCK);
+ 			LockBufferForCleanup(buf);
+ 			lazy_vacuum_page(onerel, blkno, buf, 0, vacrelstats);
+ 			lazy_record_free_space(vacrelstats, blkno, PageGetFreeSpace(BufferGetPage(buf)));
+ 			vacrelstats->num_dead_tuples = 0;
  		}
  
  		/* Remember the location of the last page with nonremovable tuples */
