* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.39 2005/03/14 20:15:09 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.40 2005/04/23 15:20:39 momjian Exp $
*
*
* NOTES:
fsmrel != NULL;
fsmrel = fsmrel->nextPhysical)
storedPages += fsmrel->storedPages;
+
/* Copy other stats before dropping lock */
numRels = FreeSpaceMap->numRels;
sumRequests = FreeSpaceMap->sumRequests;
needed = (sumRequests + numRels) * CHUNKPAGES;
ereport(elevel,
- (errmsg("free space map: %d relations, %d pages stored; %.0f total pages used",
- numRels, storedPages, needed),
- errdetail("FSM size: %d relations + %d pages = %.0f kB shared memory.",
- MaxFSMRelations, MaxFSMPages,
- (double) FreeSpaceShmemSize() / 1024.0)));
+ (errmsg("free space map contains information about:")));
+
+ ereport(elevel,
+ (errmsg("%d relations, limit %d relations",
+ numRels, MaxFSMRelations)));
+
+ ereport(elevel,
+ (errmsg("%d pages with free space, %.0f pages (with overhead)",
+ storedPages, Min(needed, MaxFSMPages))));
+
+ ereport(elevel,
+ (errmsg("%.0f pages required to track all freespace, limit %d pages (%.0f kB)",
+ needed, MaxFSMPages,
+ (double) FreeSpaceShmemSize() / 1024.0)));
CheckFreeSpaceMapStatistics(NOTICE, numRels, needed);
/* Print to server logs too because is deals with a config variable. */