Thread: Partial WAL file replay before fail-over startup

Partial WAL file replay before fail-over startup

From
"Donald Fraser"
Date:
Our current standby server, on detection of fail-over, gets all archived WAL files including the most resent partial WAL file copied into the pg_xlog directory. We then start postgresql and wait for it to come up.
 
We would like to move over to the warm standby approach. However I would like to clarify how the very last, partially populated WAL file can be replayed into the warm standby server before startup?
I quote from the documents on "Record-based Log Shipping".

"Note that the standby servers' restore_command scripts still deal in whole WAL files, so the incrementally copied data is not ordinarily made available to the standby servers. It is of use only when the primary dies — then the last partial WAL file is fed to the standby before allowing it to come up."
 
It is not clear from this statement how the last partial WAL file is fed to the standby server if the restore_command only takes whole WAL files.
I would assume that copying the partial WAL file into the pg_xlog directory would suffice before startup. However as I've been caught out many times before with assumptions, I would therefore like to clarify this?

Regards
Donald Fraser