Re: Online base backup from the hot-standby

Jun Ishiduka <ishizuka.jun@po.ntts.co.jp>

From: Jun Ishiduka <ishizuka.jun@po.ntts.co.jp>
To: simon@2ndQuadrant.com
Cc: masao.fujii@gmail.com, ssinger_pg@sympatico.ca, magnus@hagander.net, robertmhaas@gmail.com, pgsql-hackers@postgresql.org, cedric.villemain.debian@gmail.com, heikki.linnakangas@enterprisedb.com
Date: 2011-10-11T10:15:54Z
Lists: pgsql-hackers
> I can't see a reason why we would use a new WAL record for this,
> rather than modify the XLOG_PARAMETER_CHANGE record type which was
> created for a very similar reason.
> The code would be much simpler if we just extend
> XLOG_PARAMETER_CHANGE, so please can we do that?

Sure.

> The log message "full_page_writes on master is set invalid more than
> once during online backup" should read "at least once" rather than
> "more than once".

Yes.

> lastFpwDisabledLSN needs to be initialized.

I think it don't need because all values in XLogCtl is initialized 0.

> Is there a reason to add lastFpwDisabledLSN onto the Control file? If
> we log parameters after every checkpoint then we'll know the values
> when we startup. If we keep logging parameters this way we'll end up
> with a very awkward and large control file. I would personally prefer
> to avoid that, but that thought could go either way. Let's see if
> anyone else thinks that also.

Yes. I add to CreateCheckPoint().

Image:
  CreateCheckPoint()
  {
     if (!shutdown && XLogStandbyInfoActive())
     {
        LogStandbySnapshot()
        XLogReportParameters()
     }
   }

  XLogReportParameters()
  {
     if (fpw == 'off' || ... )
         XLOGINSERT()
  }

However, it'll write XLOG_PARAMETER_CHANGE every checkpoints when FPW is 'off'.
(It will increases the amount of WAL.)
Is it OK?


Regards.

--------------------------------------------
Jun Ishizuka
NTT Software Corporation
TEL:045-317-7018
E-Mail: ishizuka.jun@po.ntts.co.jp
--------------------------------------------