PostgreSQL Source Code git master
basebackup_incremental.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * basebackup_incremental.h
4 * API for incremental backup support
5 *
6 * Portions Copyright (c) 2010-2025, PostgreSQL Global Development Group
7 *
8 * src/include/backup/basebackup_incremental.h
9 *
10 *-------------------------------------------------------------------------
11 */
12#ifndef BASEBACKUP_INCREMENTAL_H
13#define BASEBACKUP_INCREMENTAL_H
14
15#include "access/xlogbackup.h"
16#include "common/relpath.h"
17#include "storage/block.h"
18#include "utils/palloc.h"
19
20#define INCREMENTAL_MAGIC 0xd3ae1f0d
21
22typedef enum
23{
27
30
32
34 const char *data,
35 int len);
37
40
41extern char *GetIncrementalFilePath(Oid dboid, Oid spcoid,
42 RelFileNumber relfilenumber,
43 ForkNumber forknum, unsigned segno);
45 const char *path,
46 Oid dboid, Oid spcoid,
47 RelFileNumber relfilenumber,
48 ForkNumber forknum,
49 unsigned segno, size_t size,
50 unsigned *num_blocks_required,
51 BlockNumber *relative_block_numbers,
52 unsigned *truncation_block_length);
53extern size_t GetIncrementalFileSize(unsigned num_blocks_required);
54extern size_t GetIncrementalHeaderSize(unsigned num_blocks_required);
55
56#endif
void AppendIncrementalManifestData(IncrementalBackupInfo *ib, const char *data, int len)
IncrementalBackupInfo * CreateIncrementalBackupInfo(MemoryContext)
size_t GetIncrementalHeaderSize(unsigned num_blocks_required)
@ BACK_UP_FILE_INCREMENTALLY
@ BACK_UP_FILE_FULLY
size_t GetIncrementalFileSize(unsigned num_blocks_required)
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)
char * GetIncrementalFilePath(Oid dboid, Oid spcoid, RelFileNumber relfilenumber, ForkNumber forknum, unsigned segno)
void PrepareForIncrementalBackup(IncrementalBackupInfo *ib, BackupState *backup_state)
void FinalizeIncrementalManifest(IncrementalBackupInfo *ib)
uint32 BlockNumber
Definition: block.h:31
const void size_t len
const void * data
unsigned int Oid
Definition: postgres_ext.h:32
Oid RelFileNumber
Definition: relpath.h:25
ForkNumber
Definition: relpath.h:56
static pg_noinline void Size size
Definition: slab.c:607
static BackupState * backup_state
Definition: xlogfuncs.c:41