Skip site navigation (1) Skip section navigation (2)

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

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>,Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org,pgsql-patches(at)postgresql(dot)org
Subject: Re: [PATCHES] A way to let Vacuum warn if FSM settings are low. [final?]
Date: 2005-02-27 22:50:56
Message-ID: 200502272250.j1RMou600402@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-generalpgsql-patches
[ Previous version removed.]

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 Sun, 27 Feb 2005, Simon Riggs wrote:
> > On Fri, 2005-02-25 at 16:48 -0800, Ron Mayer wrote:
> > > Getting closer?
> > For me, yes.  [...]
> > The not-warnings seem a little wordy for me, but they happen when and
> > how I would hope for. 
> > 
> > So, for me, it looks like a polish of final wording and commit.
> 
> Thanks for the feedback.  How about I replace the grammatically poor:
> 
>  LOG:  max_fsm_relations(%d) is equal than the number of relations vacuum checked (%d)",
>  HINT:  You probably have more than %d relations. You should increase max_fsm_relations. Pages needed for 
> max_fsm_pages may have been underestimated. 
> 
> with this:
> 
>  LOG:  max_fsm_relations(100) equals the number of relations checked
>  HINT:  You have >= 100 relations. You should increase max_fsm_relations.
> 
> 
> and replace this:
> 
>  LOG:  max_fsm_pages(%d) is smaller than the actual number of page slots needed(%.0f)",
>  HINT:  You may want to increase max_fsm_pages to be larger than %.0f"
> 
> with the slightly smaller
> 
>  LOG:  the number of page slots needed (2832) exceeds max_fsm_pages (1601)
>  HINT:  You may want to increase max_fsm_pages to a value over 2832.
> 
> 
> These updated messages would fit on an 80-column display if the numbers 
> aren't too big.   Here's 80 characters for a quick reference.
>  01234567890123456789012345678901234567890123456789012345678901234567890123456789
> The "pages needed...underestimate" in the first message was no longer 
> useful anyway; since it's no longer logging fsm_pages stuff when the
> max_fsm_relations condition occurred anyway
> 
>   Ron
> 
> The patch now looks like:
> 
> ================================================================================
> % 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-27 11:54:39.776546200 -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) equals the number of relations checked",
> +             MaxFSMRelations),
> +             errhint("You have >= %d relations. You should increase max_fsm_relations.",numRels)));
> +    else
> +    if (needed > MaxFSMPages)
> +        ereport(LOG,
> +            (errmsg("the number of page slots needed (%.0f) exceeds max_fsm_pages (%d)",
> +             needed,MaxFSMPages),
> +             errhint("You may want to increase max_fsm_pages to a value over %.0f.",needed)));
> +
>  }
>  
>  /*
> % 
> ================================================================================
> 

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

In response to

pgsql-patches by date

Next:From: Neil ConwayDate: 2005-02-27 22:51:50
Subject: Re: int4 <-> bool casts
Previous:From: Bruce MomjianDate: 2005-02-27 22:41:10
Subject: Re: [PATCHES] A way to let Vacuum warn if FSM settings are low.

pgsql-general by date

Next:From: Mohsen PahlevanzadehDate: 2005-02-27 23:27:48
Subject: Reading from Mysql & writting in PGsql
Previous:From: Bruce MomjianDate: 2005-02-27 22:41:10
Subject: Re: [PATCHES] A way to let Vacuum warn if FSM settings are low.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group