Hi, On 2021-01-14 16:40:26 +0900, Fujii Masao wrote: > On 2021/01/12 9:06, Jeff Davis wrote: > > Commit 5ee2197767 (about 4 years old) introduced the error: > > > > "IDENTIFY_SYSTEM has not been run before START_REPLICATION" > > > > But it seems like running START_REPLICATION first works (at least in > > the simple case). > > > > 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. Has anybody dug out the thread leading to the commit? Greetings, Andres Freund