88 * Portions Copyright (c) 1994, Regents of the University of California
99 *
1010 * IDENTIFICATION
11- * $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.39 2005/03/14 20: 15:09 momjian Exp $
11+ * $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.40 2005/04/23 15:20:39 momjian Exp $
1212 *
1313 *
1414 * NOTES:
@@ -699,6 +699,7 @@ PrintFreeSpaceMapStatistics(int elevel)
699699 fsmrel != NULL ;
700700 fsmrel = fsmrel -> nextPhysical )
701701 storedPages += fsmrel -> storedPages ;
702+
702703 /* Copy other stats before dropping lock */
703704 numRels = FreeSpaceMap -> numRels ;
704705 sumRequests = FreeSpaceMap -> sumRequests ;
@@ -708,11 +709,20 @@ PrintFreeSpaceMapStatistics(int elevel)
708709 needed = (sumRequests + numRels ) * CHUNKPAGES ;
709710
710711 ereport (elevel ,
711- (errmsg ("free space map: %d relations, %d pages stored; %.0f total pages used" ,
712- numRels , storedPages , needed ),
713- errdetail ("FSM size: %d relations + %d pages = %.0f kB shared memory." ,
714- MaxFSMRelations , MaxFSMPages ,
715- (double ) FreeSpaceShmemSize () / 1024.0 )));
712+ (errmsg ("free space map contains information about:" )));
713+
714+ ereport (elevel ,
715+ (errmsg ("%d relations, limit %d relations" ,
716+ numRels , MaxFSMRelations )));
717+
718+ ereport (elevel ,
719+ (errmsg ("%d pages with free space, %.0f pages (with overhead)" ,
720+ storedPages , Min (needed , MaxFSMPages ))));
721+
722+ ereport (elevel ,
723+ (errmsg ("%.0f pages required to track all freespace, limit %d pages (%.0f kB)" ,
724+ needed , MaxFSMPages ,
725+ (double ) FreeSpaceShmemSize () / 1024.0 )));
716726
717727 CheckFreeSpaceMapStatistics (NOTICE , numRels , needed );
718728 /* Print to server logs too because is deals with a config variable. */
0 commit comments