On 2017-08-16 21:25:48 -0400, Robert Haas wrote: > On Wed, Aug 16, 2017 at 5:55 PM, Andres Freund <andres@anarazel.de> wrote: > > I think we should constrain the API to only allow later LSNs than > > currently in the slot, rather than arbitrary ones. That's why I was > > thinking of "forward". I'm not convinced it's a good / safe idea to > > allow arbitrary values to be set. > > Maybe I shouldn't play the devil's advocate here, but isn't a feature > like this by definition only for people who Know What They Are Doing? > If so, why not let them back the slot up? I'm sure that will work out > just fine. They Know What They Are Doing.
I have yet to hear a reason for allowing to move things backward etc. So I'm not sure what the benefit would be. But more importantly I'd like to make this available to non-superusers at some point, and there I think it's more important that they can't do bad things. The reason for allowing it for non-superusers is that I think it's quite a useful function to be used by an automated system. E.g. to ensure enough, but not too much, WAL is available for a tertiary standby both on the actual primary and a failover node.
I strongly agree.
If you really need to move a physical slot back (why?) you can do it with an extension that uses the low level APIs. But I can't see why you would want to.