Thread: What happens if checkpoint haven't completed until the nextcheckpoint interval or max_wal_size?

In the name of god!

Hi,

What happens if checkpoint haven't completed until the next checkpoint 
interval or max_wal_size?

thanks,

regards, Mohammad Sherafat.



Mohammad Sherafat wrote:
> In the name of god!

It is not considered good style to hurt people's religious feelings
by using the name of god in vain.

> What happens if checkpoint haven't completed until the next checkpoint 
> interval or max_wal_size?

Then you have two checkpoints active at the same time.

Yours,
Laurenz Albe



On Mon, Feb 4, 2019 at 2:50 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
Mohammad Sherafat wrote:
> In the name of god!

It is not considered good style to hurt people's religious feelings
by using the name of god in vain.

I agree but...

> What happens if checkpoint haven't completed until the next checkpoint
> interval or max_wal_size?

Then you have two checkpoints active at the same time.

...not about this part. I think the next checkpoint just doesn't start until the one already in progress completes.

...Robert

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Tue, Feb 05, 2019 at 04:11:55PM +0530, Robert Haas wrote:
> ...not about this part. I think the next checkpoint just doesn't start
> until the one already in progress completes.

Yes, the requests are communicated from any backends to the
checkpointer with shared memory (see ckpt_flags in RequestCheckpoint),
and the backend signals the checkpointer to do the work, still it
won't do the work until the checkpoint currently running finishes.
--
Michael

Attachment
At Tue, 5 Feb 2019 20:42:59 +0900, Michael Paquier <michael@paquier.xyz> wrote in <20190205114259.GH1882@paquier.xyz>
> On Tue, Feb 05, 2019 at 04:11:55PM +0530, Robert Haas wrote:
> > ...not about this part. I think the next checkpoint just doesn't start
> > until the one already in progress completes.
> 
> Yes, the requests are communicated from any backends to the
> checkpointer with shared memory (see ckpt_flags in RequestCheckpoint),
> and the backend signals the checkpointer to do the work, still it
> won't do the work until the checkpoint currently running finishes.

And, requests for checkpoints are not queued. Multiple checkpoint
requests (both automatically and manually) made during a
checkpoint are finished at once at the end of the running
checkpoint.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center