|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/timeline.h"#include "access/xlog.h"#include "backup/basebackup_incremental.h"#include "backup/walsummary.h"#include "common/blkreftable.h"#include "common/hashfn.h"#include "common/int.h"#include "common/parse_manifest.h"#include "postmaster/walsummarizer.h"#include "lib/simplehash.h"
Go to the source code of this file.
Data Structures | |
| struct | backup_wal_range |
| struct | backup_file_entry |
| struct | IncrementalBackupInfo |
Macros | |
| #define | BLOCKS_PER_READ 512 |
| #define | MIN_CHUNK 1024 |
| #define | MAX_CHUNK (128 * 1024) |
| #define | SH_PREFIX backup_file |
| #define | SH_ELEMENT_TYPE backup_file_entry |
| #define | SH_KEY_TYPE const char * |
| #define | SH_KEY path |
| #define | SH_HASH_KEY(tb, key) hash_string_pointer(key) |
| #define | SH_EQUAL(tb, a, b) (strcmp(a, b) == 0) |
| #define | SH_SCOPE static inline |
| #define | SH_DECLARE |
| #define | SH_DEFINE |
| #define BLOCKS_PER_READ 512 |
Definition at line 32 of file basebackup_incremental.c.
| #define MAX_CHUNK (128 * 1024) |
Definition at line 40 of file basebackup_incremental.c.
| #define MIN_CHUNK 1024 |
Definition at line 39 of file basebackup_incremental.c.
| #define SH_DECLARE |
Definition at line 70 of file basebackup_incremental.c.
| #define SH_DEFINE |
Definition at line 71 of file basebackup_incremental.c.
| #define SH_ELEMENT_TYPE backup_file_entry |
Definition at line 64 of file basebackup_incremental.c.
Definition at line 68 of file basebackup_incremental.c.
| #define SH_HASH_KEY | ( | tb, | |
| key | |||
| ) | hash_string_pointer(key) |
Definition at line 67 of file basebackup_incremental.c.
| #define SH_KEY path |
Definition at line 66 of file basebackup_incremental.c.
Definition at line 65 of file basebackup_incremental.c.
| #define SH_PREFIX backup_file |
Definition at line 63 of file basebackup_incremental.c.
Definition at line 69 of file basebackup_incremental.c.
| void AppendIncrementalManifestData | ( | IncrementalBackupInfo * | ib, |
| const char * | data, | ||
| int | len | ||
| ) |
Definition at line 194 of file basebackup_incremental.c.
References appendBinaryStringInfo(), data, fb(), json_parse_manifest_incremental_chunk(), len, MAX_CHUNK, MemoryContextSwitchTo(), and MIN_CHUNK.
Referenced by HandleUploadManifestPacket().
Definition at line 1050 of file basebackup_incremental.c.
References a, b, fb(), and pg_cmp_u32().
Referenced by GetFileBackupMethod().
| IncrementalBackupInfo * CreateIncrementalBackupInfo | ( | MemoryContext | mcxt | ) |
Definition at line 152 of file basebackup_incremental.c.
References JsonManifestParseContext::error_cb, fb(), initStringInfo(), json_parse_manifest_incremental_init(), manifest_process_file(), manifest_process_system_identifier(), manifest_process_version(), manifest_process_wal_range(), manifest_report_error(), MemoryContextSwitchTo(), palloc0_object, JsonManifestParseContext::per_file_cb, JsonManifestParseContext::per_wal_range_cb, JsonManifestParseContext::private_data, JsonManifestParseContext::system_identifier_cb, and JsonManifestParseContext::version_cb.
Referenced by UploadManifest().
| void FinalizeIncrementalManifest | ( | IncrementalBackupInfo * | ib | ) |
Definition at line 227 of file basebackup_incremental.c.
References fb(), json_parse_manifest_incremental_chunk(), json_parse_manifest_incremental_shutdown(), MemoryContextSwitchTo(), and pfree().
Referenced by UploadManifest().
| FileBackupMethod GetFileBackupMethod | ( | IncrementalBackupInfo * | ib, |
| const char * | path, | ||
| Oid | dboid, | ||
| Oid | spcoid, | ||
| RelFileNumber | relfilenumber, | ||
| ForkNumber | forknum, | ||
| unsigned | segno, | ||
| size_t | size, | ||
| unsigned * | num_blocks_required, | ||
| BlockNumber * | relative_block_numbers, | ||
| unsigned * | truncation_block_length | ||
| ) |
Definition at line 663 of file basebackup_incremental.c.
References Assert, BACK_UP_FILE_FULLY, BACK_UP_FILE_INCREMENTALLY, BlockNumberIsValid(), BlockRefTableEntryGetBlocks(), BlockRefTableGetEntry(), compare_block_numbers(), RelFileLocator::dbOid, ereport, errcode(), errmsg_internal(), ERROR, fb(), FSM_FORKNUM, GetIncrementalFilePath(), i, MAIN_FORKNUM, OidIsValid, qsort, RelFileNumberIsValid, RelFileLocator::relNumber, and RelFileLocator::spcOid.
Referenced by sendDir().
| char * GetIncrementalFilePath | ( | Oid | dboid, |
| Oid | spcoid, | ||
| RelFileNumber | relfilenumber, | ||
| ForkNumber | forknum, | ||
| unsigned | segno | ||
| ) |
Definition at line 625 of file basebackup_incremental.c.
References Assert, fb(), GetRelationPath(), INVALID_PROC_NUMBER, psprintf(), and RelPathStr::str.
Referenced by GetFileBackupMethod().
Definition at line 909 of file basebackup_incremental.c.
References Assert, fb(), and GetIncrementalHeaderSize().
Referenced by sendDir().
Definition at line 881 of file basebackup_incremental.c.
Referenced by GetIncrementalFileSize().
Definition at line 931 of file basebackup_incremental.c.
References fb(), and hash_bytes().
|
static |
Definition at line 978 of file basebackup_incremental.c.
References fb(), MemoryContextStrdup(), backup_file_entry::path, JsonManifestParseContext::private_data, and backup_file_entry::size.
Referenced by CreateIncrementalBackupInfo().
|
static |
Definition at line 956 of file basebackup_incremental.c.
References JsonManifestParseContext::error_cb, fb(), and GetSystemIdentifier().
Referenced by CreateIncrementalBackupInfo().
|
static |
Definition at line 942 of file basebackup_incremental.c.
References JsonManifestParseContext::error_cb.
Referenced by CreateIncrementalBackupInfo().
|
static |
Definition at line 1005 of file basebackup_incremental.c.
References fb(), lappend(), palloc_object, JsonManifestParseContext::private_data, and range().
Referenced by CreateIncrementalBackupInfo().
|
static |
Definition at line 1023 of file basebackup_incremental.c.
References appendStringInfoVA(), StringInfoData::data, enlargeStringInfo(), ereport, errmsg_internal(), ERROR, fb(), and initStringInfo().
Referenced by CreateIncrementalBackupInfo().
| void PrepareForIncrementalBackup | ( | IncrementalBackupInfo * | ib, |
| BackupState * | backup_state | ||
| ) |
Definition at line 263 of file basebackup_incremental.c.
References Assert, backup_state, BlockRefTableMarkBlockModified(), BlockRefTableReaderGetBlocks(), BlockRefTableReaderNextRelation(), BlockRefTableSetLimitBlock(), BLOCKS_PER_READ, CreateBlockRefTableReader(), DEBUG1, DestroyBlockRefTableReader(), ereport, errcode(), errdetail(), errhint(), errmsg(), errmsg_internal(), ERROR, expectedTLEs, fb(), FileClose(), FilePathName(), FilterWalSummaries(), GetWalSummaries(), i, InvalidXLogRecPtr, BackupState::istartpoint, BackupState::istarttli, lfirst, list_concat(), list_length(), list_nth(), LSN_FORMAT_ARGS, MemoryContextSwitchTo(), NIL, OpenWalSummaryFile(), palloc0(), range(), readTimeLineHistory(), ReadWalSummary(), ReportWalSummaryError(), BackupState::startpoint, BackupState::starttli, WaitForWalSummarization(), WalSummariesAreComplete(), and XLogRecPtrIsValid.
Referenced by perform_base_backup().