postgresql/src/backend
Robert Haas dc21234005 Add support for incremental backup.
To take an incremental backup, you use the new replication command
UPLOAD_MANIFEST to upload the manifest for the prior backup. This
prior backup could either be a full backup or another incremental
backup.  You then use BASE_BACKUP with the INCREMENTAL option to take
the backup.  pg_basebackup now has an --incremental=PATH_TO_MANIFEST
option to trigger this behavior.

An incremental backup is like a regular full backup except that
some relation files are replaced with files with names like
INCREMENTAL.${ORIGINAL_NAME}, and the backup_label file contains
additional lines identifying it as an incremental backup. The new
pg_combinebackup tool can be used to reconstruct a data directory
from a full backup and a series of incremental backups.

Patch by me.  Reviewed by Matthias van de Meent, Dilip Kumar, Jakub
Wartak, Peter Eisentraut, and Álvaro Herrera. Thanks especially to
Jakub for incredibly helpful and extensive testing.

Discussion: http://postgr.es/m/CA+TgmoYOYZfMCyOXFyC-P+-mdrZqm5pP2N7S-r0z3_402h9rsA@mail.gmail.com
2023-12-20 09:49:12 -05:00
..
access Add support for incremental backup. 2023-12-20 09:49:12 -05:00
archive Redesign archive modules 2023-02-17 14:26:42 +09:00
backup Add support for incremental backup. 2023-12-20 09:49:12 -05:00
bootstrap Remove distprep 2023-11-06 15:18:04 +01:00
catalog Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
commands Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
executor Verify that attribute counts match in ExecCopySlot 2023-12-07 21:28:24 +13:00
foreign Improve "user mapping not found" error message 2023-11-30 05:34:28 +01:00
jit Make ResourceOwners more easily extensible. 2023-11-08 13:30:50 +02:00
lib Make binaryheap available to frontend code. 2023-09-18 12:18:33 -07:00
libpq Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
main Remove obsolete defense against strxfrm() bugs. 2023-04-20 13:20:14 +12:00
nodes Simplify newNode() by removing special cases 2023-12-19 12:11:47 +02:00
optimizer Prevent integer overflow when forming tuple width estimates. 2023-12-19 11:12:16 -05:00
parser Remove useless LIMIT_OPTION_DEFAULT value from LimitOption 2023-12-16 18:20:03 +01:00
partitioning Add trailing commas to enum definitions 2023-10-26 09:20:54 +02:00
po Translation updates 2023-08-07 12:39:30 +02:00
port Remove distprep 2023-11-06 15:18:04 +01:00
postmaster Add a new WAL summarizer process. 2023-12-20 08:42:28 -05:00
regex Add trailing commas to enum definitions 2023-10-26 09:20:54 +02:00
replication Add support for incremental backup. 2023-12-20 09:49:12 -05:00
rewrite Add TupleDescGetDefault() 2023-09-27 18:52:40 +01:00
snowball Remove distprep 2023-11-06 15:18:04 +01:00
statistics Retire MemoryContextResetAndDeleteChildren() macro. 2023-11-15 13:42:30 -06:00
storage Add support for incremental backup. 2023-12-20 09:49:12 -05:00
tcop Add support for REINDEX in event triggers 2023-12-04 09:53:49 +09:00
tsearch Limit to_tsvector_byid's initial array allocation to something sane. 2023-09-25 11:50:28 -04:00
utils Add a new WAL summarizer process. 2023-12-20 08:42:28 -05:00
.gitignore
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
meson.build Remove MSVC scripts 2023-12-20 09:44:37 +09:00
nls.mk Remove distprep 2023-11-06 15:18:04 +01:00