| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | cjames(at)emolecules(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Ambiguity in restore_command for recovery.conf |
| Date: | 2018-09-19 02:42:50 |
| Message-ID: | 20180919024250.GE1650@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-docs |
On Tue, Sep 18, 2018 at 04:10:17PM +0000, PG Doc comments form wrote:
> 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.
The logic around the source used to fetch WAL segments is defined in
WaitForWALToBecomeAvailable/xlog.c. A standby would give priority to
what is present in the local pg_wal or in the WAL archive before
switching to streaming. If fetching a segment from the archive or the
local pg_wal fails, then a switch to streaming happens (of course if
primary_conninfo is defined). There is nothing really linked to
replication slots in this case.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2018-09-19 02:53:02 | Re: Mention FK creation take ShareRowExclusiveLock on referenced table |
| Previous Message | PG Doc comments form | 2018-09-18 22:56:10 | Punctuation error |