The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/10/static/archive-recovery-settings.html Description:
Documentation for restore_command in recovery.conf only says, "This parameter is required for archive recovery, but optional for streaming replication," but it doesn't say specifically when the restore_command string will be used and why. My guess is that as long as the WAL files are still available on the master (primary) host, the recovery will fetch them via the replication slot, but if a WAL is missing on the primary, only then will the restore_command be used. But this isn't explicitly stated. It could be that the restore_command is always used, even if the WAL file is still available on the primary.