Re: FSM - per database or per installation?

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

 



On Wed, Dec 23, 2009 at 6:38 PM, Craig James <craig_james@xxxxxxxxxxxxxx> wrote:
> Heikki Linnakangas wrote:
>>
>> Craig James wrote:
>>>
>>> Are the FSM parameters for each database, or the entire Postgres
>>> system?  In other words, if I have 100 databases, do I need to increase
>>> max_fsm_pages and max_fsm_relations by a factor of 100, or keep them the
>>> same as if I just have one database?
>>>
>>> I suspect they're per-database, i.e. as I add databases, I don't have to
>>> increase the FSM parameters, but the documentation isn't 100% clear on
>>> this point.
>>
>> It's per cluster, ie *not* per-database.
>
> Hmmm ... it seems I have an impossible problem.  I have ~250 databases each
> with about 2500 relations (as in "select count(1) from pg_class where
> relname not like 'pg_%'").  That makes roughly 625,000 relations.
>
> But ... for max_fsm_pages, the Postgres manual says, "This setting must be
> at least 16 * max_fsm_relations. The default is chosen by initdb depending
> on the amount of available memory, and can range from 20k to 200k pages."
>
> So max_fsm_pages should be 16*625000, or 10,000,000 ... except that the
> limit is 200,000.  Or is it only the *default* that can be 200,000 max, but
> you can override and set it to any number you like?

NO! that's not the max (if it was I would be in serious trouble.)
That's the max that you'll see done by initdb when creating the
cluster.

We run 10M fsm pages on our servers, and use about 2.5M of that.

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux