Search Postgresql Archives

Re: [PATCHES] A way to let Vacuum warn if FSM settings are low.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Your patch has been added to the PostgreSQL unapplied patches list at:

	http://momjian.postgresql.org/cgi-bin/pgpatches

It will be applied as soon as one of the PostgreSQL committers reviews
and approves it.

---------------------------------------------------------------------------


Ron Mayer wrote:
> 
> On Fri, 25 Feb 2005, Bruce Momjian wrote:
> > Tom Lane wrote:
> > > Ron Mayer <rm_pg@xxxxxxxxxxxxxxxxxxxxxxx> writes:
> > > > Should the relation overflow be a WARNING or a LOG?  ...
> > > I'd go for making them both LOG, I think.  More consistent.
> >
> > Can we also update this wording:
> > 
> > INFO:  free space map: 52 relations, 61 pages stored; 848 total pages needed
> > DETAIL:  Allocated FSM size: 1000 relations + 20000 pages = 182 kB shared memory.
> > 
> > The "pages needed" is confusing.  In fact it is the total pages used or
> > allocated.  I looked in the code and got confused.  It needs clarity. 
> 
> 
> Any preference?   To me, "allocated" has some risk of sounding like
> it refers to the total free space map (memory allocated for fsm)
> instead of just the used ones.    "Allocated" is actually used for
> that other meaning on the next line.  I guess it's confusing there
> too, so that line should be changed as well.
> 
> How about if I go for "used" in that first line; and simply remove the
> word "Allocated" in the DETAIL line.
> 
> So instead of:
> >
> > INFO:  free space map: 52 relations, 61 pages stored; 848 total pages needed
> > DETAIL:  Allocated FSM size: 1000 relations + 20000 pages = 182 kB shared memory.
> >
> it'll say
> >
> > INFO:  free space map: 52 relations, 61 pages stored; 848 total pages used
> > DETAIL:  FSM size: 1000 relations + 20000 pages = 182 kB shared memory.
> >
> 
> 
> With those changes, the patch now looks like this...
> 
> 
> ======================================================================
> 
> % diff -u postgresql-8.0.1/src/backend/storage/freespace/freespace.c postgresql-patched/src/backend/storage/freespace/freespace.c
> --- postgresql-8.0.1/src/backend/storage/freespace/freespace.c    2004-12-31 14:00:54.000000000 -0800
> +++ postgresql-patched/src/backend/storage/freespace/freespace.c    2005-02-25 16:45:26.773792440 -0800
> @@ -705,12 +705,25 @@
>      /* Convert stats to actual number of page slots needed */
>      needed = (sumRequests + numRels) * CHUNKPAGES;
>  
> -    ereport(elevel,
> -            (errmsg("free space map: %d relations, %d pages stored; %.0f total pages needed",
> +    ereport(INFO,
> +            (errmsg("free space map: %d relations, %d pages stored; %.0f total pages used",
>                      numRels, storedPages, needed),
> -             errdetail("Allocated FSM size: %d relations + %d pages = %.0f kB shared memory.",
> +             errdetail("FSM size: %d relations + %d pages = %.0f kB shared memory.",
>                         MaxFSMRelations, MaxFSMPages,
>                         (double) FreeSpaceShmemSize() / 1024.0)));
> +    
> +    if (numRels == MaxFSMRelations)
> +        ereport(LOG,
> +            (errmsg("max_fsm_relations(%d) is equal than the number of relations vacuum checked (%d)",
> +             MaxFSMRelations, numRels),
> +             errhint("You probably have more than %d relations. You should increase max_fsm_relations. Pages needed for max_fsm_pages may have been underestimated. ",numRels)));
> +    else
> +    if (needed > MaxFSMPages)
> +        ereport(LOG,
> +            (errmsg("max_fsm_pages(%d) is smaller than the actual number of page slots needed(%.0f)",
> +             MaxFSMPages, needed),
> +             errhint("You may want to increase max_fsm_pages to be larger than %.0f",needed)));
> +
>  }
>  
>  /*
> ======================================================================
> 
> 
> Getting closer?
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@xxxxxxxxxxxxxxxx               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux