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-2024, 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 
22 typedef enum
23 {
27 
30 
32 
34  const char *data,
35  int len);
37 
40 
41 extern 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);
53 extern size_t GetIncrementalFileSize(unsigned num_blocks_required);
54 extern size_t GetIncrementalHeaderSize(unsigned num_blocks_required);
55 
56 #endif
void AppendIncrementalManifestData(IncrementalBackupInfo *ib, const char *data, int len)
size_t GetIncrementalHeaderSize(unsigned num_blocks_required)
char * GetIncrementalFilePath(Oid dboid, Oid spcoid, RelFileNumber relfilenumber, ForkNumber forknum, unsigned segno)
@ BACK_UP_FILE_INCREMENTALLY
@ BACK_UP_FILE_FULLY
size_t GetIncrementalFileSize(unsigned num_blocks_required)
IncrementalBackupInfo * CreateIncrementalBackupInfo(MemoryContext)
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)
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:31
Oid RelFileNumber
Definition: relpath.h:25
ForkNumber
Definition: relpath.h:48
static pg_noinline void Size size
Definition: slab.c:607
static BackupState * backup_state
Definition: xlogfuncs.c:40