OSDN Git Service

Modify output of VACUUM VERBOSE to be clearer.
authorBruce Momjian <bruce@momjian.us>
Sat, 23 Apr 2005 15:20:39 +0000 (15:20 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 23 Apr 2005 15:20:39 +0000 (15:20 +0000)
src/backend/storage/freespace/freespace.c

index f666ce9..d0f289a 100644 (file)
@@ -8,7 +8,7 @@
  * 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:
@@ -699,6 +699,7 @@ PrintFreeSpaceMapStatistics(int elevel)
                 fsmrel != NULL;
                 fsmrel = fsmrel->nextPhysical)
                storedPages += fsmrel->storedPages;
+
        /* Copy other stats before dropping lock */
        numRels = FreeSpaceMap->numRels;
        sumRequests = FreeSpaceMap->sumRequests;
@@ -708,11 +709,20 @@ PrintFreeSpaceMapStatistics(int elevel)
        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. */