Re: backup manifests
David Steele <david@pgmasters.net>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Try to avoid compiler warnings in optimized builds.
- 05021a2c0cd2 13.0 landed
-
Fix option related issues in pg_verifybackup.
- 0a89e93bfaa6 13.0 landed
-
Add index term for backup manifest in documentation.
- 4db819ba4039 13.0 landed
-
Code review for backup manifest.
- a2ac73e7be7a 13.0 landed
-
Document the backup manifest file format.
- 149f2ae88ab0 13.0 landed
-
Fix typo in pg_validatebackup documentation.
- c4f82a779d26 13.0 landed
-
Exclude backup_manifest file that existed in database, from BASE_BACKUP.
- 1ec50a81ec0a 13.0 landed
-
Msys2 tweaks for pg_validatebackup corruption test
- c3e4cbaab936 13.0 landed
-
Fix resource management bug with replication=database.
- 3e0d80fd8d3d 13.0 cited
-
Be more careful about time_t vs. pg_time_t in basebackup.c.
- db1531cae009 13.0 cited
-
pg_validatebackup: Fix 'make clean' to remove tmp_check.
- 9f8f881caa0f 13.0 landed
-
pg_validatebackup: Also use perl2host in TAP tests.
- 460314db08e8 13.0 landed
-
Generate backup manifests for base backups, and validate them.
- 0d8c9c1210c4 13.0 landed
-
Add checksum helper functions.
- c12e43a2e0d4 13.0 landed
-
pg_waldump: Add a --quiet option.
- ac44367efbef 13.0 landed
-
Catversion bump for b9b408c48724
- afb5465e0cfc 13.0 cited
-
pg_basebackup: Refactor code for reading COPY and tar data.
- 431ba7bebf13 13.0 landed
-
Use a ResourceOwner to track buffer pins in all cases.
- 3cb646264e8c 12.0 cited
-
Use ARMv8 CRC instructions where available.
- f044d71e331d 11.0 cited
-
Logical replication support for initial data copy
- 7c4f52409a8c 10.0 cited
-
Use Intel SSE 4.2 CRC instructions where available.
- 3dc2d62d0486 9.5.0 cited
-
Switch to CRC-32C in WAL and other places.
- 5028f22f6eb0 9.5.0 cited
-
Remove support for 64-bit CRC.
- 404bc51cde9d 9.5.0 cited
-
Change CRCs in WAL records from 64bit to 32bit for performance reasons.
- 21fda22ec46d 8.1.0 cited
On 9/19/19 11:00 AM, Robert Haas wrote: > On Thu, Sep 19, 2019 at 9:51 AM Robert Haas <robertmhaas@gmail.com> wrote: >> I intend that we should be able to support incremental backups based >> either on a previous full backup or based on a previous incremental >> backup. I am not aware of a technical reason why we need to identify >> the specific backup that must be used. If incremental backup B is >> taken based on a pre-existing backup A, then I think that B can be >> restored using either A or *any other backup taken after A and before >> B*. In the normal case, there probably wouldn't be any such backup, >> but AFAICS the start-LSNs are a sufficient cross-check that the chosen >> base backup is legal. > > Scratch that: there can be overlapping backups, so you have to > cross-check both start and stop LSNs. Overall we have found it's much simpler to label each backup and cross-check that against the pg version and system id. Start LSN is pretty unique, but backup labels work really well and are more widely understood. >>>> (3) Cross-check a manifest against a backup and complain about extra >>>> files, missing files, size differences, or checksum mismatches. >>> >>> Verification is the best part of the manifest. Plus, you can do >>> verification pretty cheaply on restore. We also restore pg_control last >>> so clusters that have a restore error won't start. >> >> There's no "restore" operation here, really. A backup taken by >> pg_basebackup can be "restored" by copying the whole thing, but it can >> also be used just where it is. If we were going to build something >> into some in-core tool to copy backups around, this would be a smart >> way to implement said tool, but I'm not planning on that myself. > > Scratch that: incremental backups need a restore tool, so we can use > this technique there. And it can work for full backups too, because > why not? Agreed, once we have a restore tool, use it for everything. -- -David david@pgmasters.net