On Fri, 2021-01-15 at 13:55 -0800, Andres Freund wrote: > > > We should either: > > > > > > 1. Document that IDENTIFY_SYSTEM must always be run before > > > START_REPLICATION, and always issue a WARNING if that's not done > > > (an > > > ERROR might break existing applications); or > > > > > > 2. If the commit is out of date and no longer needed, or if it's > > > easy > > > enough to fix, just remove the error (and Assert a valid > > > ThisTimeLineID). > > > > +1 to remove the error if START_REPLICATION can always work fine > > without > > IDENTIFY_SYSTEM. I found that the error happens when we connect to > > the standby > > and just run START_REPLICATION without IDENTIFY_SYSTEM. But I'm not > > sure > > if IDENTIFY_SYSTEM is actually necessary even in that case. > > The current approach seems quite bad to me too. By that point the > value > could be just about arbitrarily out of date - but that doesn't really > matter because GetStandbyFlushRecPtr() updates it. And for the > !am_cascading_walsender it's trivial to compute.
[ digging up old thread ] It seems everyone agrees that the current behavior is strange. Any ideas on a solution here? > Has anybody dug out the thread leading to the commit? https://www.postgresql.org/message-id/CAMsr%2BYEN04ztb%2BSDb_UfD72Kg5M3F%2BCpad31QBKT2rRjysmxRg%40mail.gmail.com Regards, Jeff Davis