I wrote:
> Rather than expecting user-level scripts to get this corner case
> right, I suggest that we ought to modify pg_stop_backup and friends
> so that what they return is the last used byte address of WAL, not
> the first unused byte address as now. Then, blindly extracting
> the filename will give the right answer about which file to archive,
> even in the boundary case.
After further thought I desisted from that plan: changing the result
convention of existing functions like pg_stop_backup() will break any
existing archiving scripts that do get it right. Instead, we can put
the boundary-case logic into the new functions that extract a filename
from the WAL location string that the action functions return.
regards, tom lane