On Fri, Jun 11, 2021 at 2:49 PM Jeff Davis <pg...@j-davis.com> wrote: > It doesn't add any overhead. > > All the client would have to do is "SELECT confirmed_flush_lsn FROM > pg_replication_slots WHERE slot_name='myslot'", and compare it to the > stored value. If the stored value is earlier than the > confirmed_flush_lsn, the *client* can decide to start replication at > the confirmed_flush_lsn. That makes sense because the client knows more > about its behavior and configuration, and whether that's a safe choice > or not.
True, but it doesn't seem very nice to forcethe client depend on SQL when that wouldn't otherwise be needed. The SQL is a lot more likely to fail than a replication command, for example due to some permissions issue. So I think if we want to make this an optional behavior, it would be better to add a flag to the START_REPLICATION flag to say whether it's OK for the server to fast-forward like this. You seem to see this as some kind of major problem and I guess I don't agree. I think it's pretty clear what the motivation was for the current behavior, because I believe it's well-explained by the comment and the three people who have tried to answer your question. I also think it's pretty clear why somebody might find it surprising: someone might think that fast-forwarding is harmful and risky rather than a useful convenience. As evidence for the fact that someone might think that, I offer the fact that you seem to think exactly that thing. I also think that there's pretty good evidence that the behavior as it exists is not really so bad. As far as I know, and I certainly might have missed something, you're the first one to complain about behavior that we've had for quite a long time now, and you seem to be saying that it might cause problems for somebody, not that you know it actually did. So, I don't know, I'm not opposed to talking about potential improvements here, but to the extent that you're suggesting this is unreasonable behavior, I think that's too harsh. -- Robert Haas EDB: http://www.enterprisedb.com