Bruce Momjian <bruce@momjian.us> writes:
> On Wed, Jun 21, 2017 at 07:49:21PM +0530, Amit Kapila wrote:
> > On Tue, Jun 20, 2017 at 7:24 PM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> > > Hmm. I think we need something that works with lesser effort because
> > > not all users will be as knowledgeable as you are, so if they make any
> > > mistakes in copying the file manually, it can lead to problems. How
> > > about issuing a notification (XLogArchiveNotifySeg) in shutdown
> > > checkpoint if archiving is enabled?
> > >
> >
> > I have thought more about the above solution and it seems risky to
> > notify archiver for incomplete WAL segments (which will be possible in
> > this case as there is no guarantee that Checkpoint record will fill
> > the segment). So, it seems to me we should update the document unless
> > you or someone has some solution to this problem.
> As far as I know this is the only remaining open issue. Sergey, please
> verify. I appreciate the work everyone has done to improve this, and
> all the existing fixes have been pushed to all supported branches. :-)
Yes, thank you all for your help!
Yes, this is last issue with checkpoint that I know, how to ensure that
standby sync all shared buffers into disk on it shutdown.
I thinking about enforce restartpoint on shutdown, like:
src/backend/access/transam/xlog.c
- 8639 if (XLogRecPtrIsInvalid(lastCheckPointRecPtr) ||
- 8640 XLByteLE(lastCheckPoint.redo, ControlFile->checkPointCopy.redo))
- 8641 {
+ 8639 if ( !(flags & CHECKPOINT_IS_SHUTDOWN) && (XLogRecPtrIsInvalid(lastCheckPointRecPtr) ||
+ 8640 XLByteLE(lastCheckPoint.redo, ControlFile->checkPointCopy.redo) )
+ 8641 {
But I still not read source and not sure about this solution.
PS:
I successfully upgraded last night from 9.2 to 9.4 and find other issue :-)
It is about hash index and promote:
1. create master
2. create standby from it
3. create unlogged table and hash index like:create unlogged table test (id int primary key, v text);create index on
testusing hash (id);
3. stop master
4. promote standby
now, if you try to upgrade this new promoted master pg_upgrade will stop
on this hash index:
error while creating link for relation "public.test_id_idx" ("s/9.2/base/16384/16393" to "m/9.4/base/16422/16393"): No
suchfile or directory
Failure, exiting
I touch this file (s/9.2/base/16384/16393) and rerun pg_upgrade from
scratch and it complete successfully.
--
Sergey Burladyan