Thread: max_fsm_relations

max_fsm_relations

From
Adam Radłowski
Date:
PostgreSQL 8.1.3 (windows), 8.1.9 - 8.1.10 (linux).
I have databases, what are vacuumed using cron very regularry (vacuumdb
-a -f ...) and I know when should do this. Automatic vacuuming is off.
There are thousands of tables in one cluster (for ex. 10000). If I do
vacuuming manually, I can see the warning:
NOTICE:  max_fsm_relations(1000) equals the number of relations checked
HINT:  You have at least 1000 relations.  Consider increasing the
configuration parameter "max_fsm_relations".
But all is working properly. Do I need really to increase
max_fsm_relations (and corresponding start values) for postgresql server
? If I should "to consider" only it looks, that it is  not needed in my
situation. I'm right ?
Brgds
Adam

Re: max_fsm_relations

From
Tom Lane
Date:
=?ISO-8859-2?Q?Adam_Rad=B3owski?= <adamr@informatyka.gdansk.pl> writes:
> PostgreSQL 8.1.3 (windows), 8.1.9 - 8.1.10 (linux).
> I have databases, what are vacuumed using cron very regularry (vacuumdb
> -a -f ...) and I know when should do this. Automatic vacuuming is off.
> There are thousands of tables in one cluster (for ex. 10000). If I do
> vacuuming manually, I can see the warning:
> NOTICE:  max_fsm_relations(1000) equals the number of relations checked
> HINT:  You have at least 1000 relations.  Consider increasing the
> configuration parameter "max_fsm_relations".
> But all is working properly.

Only for small values of "properly".  You will be seeing table bloat
over time if you don't make the FSM large enough.

            regards, tom lane

Re: max_fsm_relations

From
Adam Radłowski
Date:
So, are You suggesting, that at the time of full database vacuuming,
some of tables are not vacuumed, when "max_fsm_relations" is to small ?
Thanks for Your fast answer.
Adam

Tom Lane pisze:
> =?ISO-8859-2?Q?Adam_Rad=B3owski?= <adamr@informatyka.gdansk.pl> writes:
>> PostgreSQL 8.1.3 (windows), 8.1.9 - 8.1.10 (linux).
>> I have databases, what are vacuumed using cron very regularry (vacuumdb
>> -a -f ...) and I know when should do this. Automatic vacuuming is off.
>> There are thousands of tables in one cluster (for ex. 10000). If I do
>> vacuuming manually, I can see the warning:
>> NOTICE:  max_fsm_relations(1000) equals the number of relations checked
>> HINT:  You have at least 1000 relations.  Consider increasing the
>> configuration parameter "max_fsm_relations".
>> But all is working properly.
>
> Only for small values of "properly".  You will be seeing table bloat
> over time if you don't make the FSM large enough.
>
>             regards, tom lane
>

Re: max_fsm_relations

From
Alvaro Herrera
Date:
Adam Radłowski wrote:
> So, are You suggesting, that at the time of full database vacuuming,
> some of tables are not vacuumed, when "max_fsm_relations" is to small ?

No.  They will all be vacuumed.  The difference is that the space
reclaimed by vacuum will not be reused unless it is recorded by the FSM.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: max_fsm_relations

From
Adam Radłowski
Date:
Now I got full information. Big thanks.
Adam

Alvaro Herrera pisze:
> Adam Radłowski wrote:
>> So, are You suggesting, that at the time of full database vacuuming,
>> some of tables are not vacuumed, when "max_fsm_relations" is to small ?
>
> No.  They will all be vacuumed.  The difference is that the space
> reclaimed by vacuum will not be reused unless it is recorded by the FSM.
>