From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Prevent WAL files created by pg_basebackup -x/X from being archi |
Date: | 2015-01-03 20:41:04 |
Message-ID: | E1Y7VVQ-0007TY-VX@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Prevent WAL files created by pg_basebackup -x/X from being archived again.
WAL (and timeline history) files created by pg_basebackup did not
maintain the new base backup's archive status. That's currently not a
problem if the new node is used as a standby - but if that node is
promoted all still existing files can get archived again. With a high
wal_keep_segment settings that can happen a significant time later -
which is quite confusing.
Change both the backend (for the -x/-X fetch case) and pg_basebackup
(for -X stream) itself to always mark WAL/timeline files included in
the base backup as .done. That's in line with walreceiver.c doing so.
The verbosity of the pg_basebackup changes show pretty clearly that it
needs some refactoring, but that'd result in not be backpatchable
changes.
Backpatch to 9.1 where pg_basebackup was introduced.
Discussion: 20141205002854(dot)GE21964(at)awork2(dot)anarazel(dot)de
Branch
------
REL9_1_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/2a0bfa4d66bd75e9f1a0ff8a8fcfdb9c4fffa5be
Modified Files
--------------
src/backend/replication/basebackup.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-01-04 13:42:58 | pgsql: Fix inconsequential fd leak in the new mark_file_as_archived() f |
Previous Message | Andres Freund | 2015-01-03 20:41:01 | pgsql: Prevent WAL files created by pg_basebackup -x/X from being archi |