On Sat, Sep 24, 2016 at 12:12 PM, Fabien COELHO <coe...@cri.ensmp.fr> wrote:
> Hello,
> The checkpoint time limit has just been raised to one day after a discussion
> started by Andres Freund:
> https://www.postgresql.org/message-id/20160202001320.GP8743%40awork2.anarazel.de
> I would have gone further up, say one week or even one month, but I think
> that this new limit is an improvement over the previous 1 hour maximum.
> Now ISTM that there is a possible use case which arises with this new
> setting and is not well addressed by postgresql:
> Let us say that an application has periods of high and low usage, say over a
> day, so that I want to avoid a checkpoint from 8 to 20, but I'm okay after
> that. I could raise the size and time limits so that they do not occur
> during these hours and plan to do a manual CHECKPOINT once a day when I see
> fit.
> Now the problem I see is that CHECKPOINT means "do a CHECKPOINT right now as
> fast as possible", i.e. there is no throttling whatsoever, which leads to
> heavy IO and may result in a very unresponsive database.
> I would suggest that a good complementary feature would be to allow a manual
> checkpoint to run over a period of time, say something like:
>   CHECKPOINT OVER '10 hours';
> That would target to complete after this period (whether it succeeds or not
> is another issue) instead of going as fast as possible, thus avoiding
> some performance degradation.

Isn't it somewhat overlaps with existing parameter
checkpoint_completion_target?  You can use
checkpoint_completion_target to throttle the checkpoints.  The option
you are suggesting seems to be more straight forward, but how will
user decide the time he wants Checkpoint to take.

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to