Index: src/backend/commands/vacuumlazy.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/commands/vacuumlazy.c,v
retrieving revision 1.83
diff -c -c -r1.83 vacuumlazy.c
*** src/backend/commands/vacuumlazy.c	4 Feb 2007 03:10:55 -0000	1.83
--- src/backend/commands/vacuumlazy.c	21 Feb 2007 22:13:59 -0000
***************
*** 180,185 ****
--- 180,195 ----
  	/* Update shared free space map with final free space info */
  	lazy_update_fsm(onerel, vacrelstats);
  
+ 	if (vacrelstats->tot_free_pages > MaxFSMPages)
+ 		ereport(WARNING,
+ 				(errmsg("relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space",
+ 						get_namespace_name(RelationGetNamespace(onerel)),
+ 						RelationGetRelationName(onerel)),
+ 				 errhint("Consider%sincreasing the configuration parameter \"max_fsm_pages\".",
+ 						/* Only suggest VACUUM FULL if 20% free */
+ 						(vacrelstats->tot_free_pages > vacrelstats->rel_pages * 0.20
+ 							? " using VACUUM FULL on this relation or ": " "))));
+ 
  	/* Update statistics in pg_class */
  	vac_update_relstats(RelationGetRelid(onerel),
  						vacrelstats->rel_pages,
***************
*** 507,519 ****
  					   vacrelstats->tot_free_pages,
  					   empty_pages,
  					   pg_rusage_show(&ru0))));
- 
- 	if (vacrelstats->tot_free_pages > MaxFSMPages)
- 		ereport(WARNING,
- 				(errmsg("relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space",
- 						get_namespace_name(RelationGetNamespace(onerel)),
- 						relname),
- 				 errhint("Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\".")));
  }
  
  
--- 517,522 ----
