> > Attached is a modified version to implement both of these. I also
bailed
> > out if there was surplus input. I tried an optimization of
allocating a
> > separate buffer for outputting the zeros, to avoid repeated memset
calls.
> > It didn't seem to make a very big difference; do you think it's
worth
> > cluttering the code with that?
>
> Would it work to just ftruncate the file?
We would need to teach recovery to accept a short file if the last
record is a
valid switch log XLOG record. RestoreArchivedFile currently bails out if
the file
size is not XLogSegSize.
We need to make exact checks though, or this would reduce reliability.
(e.g. a short file must have records up to the very end)
The probably useful next step would be to pass the current length to the
archive_command,
so it can write the filled part of the file without the need for a
filter.
Andreas