postgresql/src
Fujii Masao 4bd0ad9e44 Prevent archive recovery from scanning non-existent WAL files.
Previously when there were multiple timelines listed in the history file
of the recovery target timeline, archive recovery searched all of them,
starting from the newest timeline to the oldest one, to find the segment
to read. That is, archive recovery had to continuously fail scanning
the segment until it reached the timeline that the segment belonged to.
These scans for non-existent segment could be harmful on the recovery
performance especially when archival area was located on the remote
storage and each scan could take a long time.

To address the issue, this commit changes archive recovery so that
it skips scanning the timeline that the segment to read doesn't belong to.

Author: Kyotaro Horiguchi, tweaked a bit by Fujii Masao
Reviewed-by: David Steele, Pavel Suderevsky, Grigory Smolkin
Discussion: https://postgr.es/m/16159-f5a34a3a04dc67e0@postgresql.org
Discussion: https://postgr.es/m/20200129.120222.1476610231001551715.horikyota.ntt@gmail.com
2020-04-08 00:49:29 +09:00
..
backend Prevent archive recovery from scanning non-existent WAL files. 2020-04-08 00:49:29 +09:00
bin Add the option to report WAL usage in EXPLAIN and auto_explain. 2020-04-06 08:02:15 +05:30
common Add checksum helper functions. 2020-04-03 11:52:43 -04:00
fe_utils Add SQL type xid8 to expose FullTransactionId to users. 2020-04-07 12:03:59 +12:00
include Consider Incremental Sort paths at additional places 2020-04-07 16:43:22 +02:00
interfaces Allow ecpg to be built stand-alone, allow parallel libpq make 2020-03-31 14:17:32 -04:00
makefiles Remove libpq.rc, use win32ver.rc for libpq 2020-01-15 15:06:12 +01:00
pl Improve user control over truncation of logged bind-parameter values. 2020-04-02 15:04:51 -04:00
port Be more careful about extracting encoding from locale strings on Windows. 2020-03-30 11:14:58 -04:00
template Fix compiler warning for ppoll() on Cygwin 2019-12-22 23:20:00 +01:00
test Consider Incremental Sort paths at additional places 2020-04-07 16:43:22 +02:00
timezone Require stdint.h 2020-02-21 09:20:32 +01:00
tools Introduce xid8-based functions to replace txid_XXX. 2020-04-07 12:04:32 +12:00
tutorial Update copyrights for 2020 2020-01-01 12:21:45 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
Makefile.shlib Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nls-global.mk NLS: Fix backend gettext triggers 2019-09-23 09:04:20 +02:00