| 1 | /*------------------------------------------------------------------------- | 
|---|
| 2 | * | 
|---|
| 3 | * pg_rewind.h | 
|---|
| 4 | * | 
|---|
| 5 | * | 
|---|
| 6 | * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group | 
|---|
| 7 | * Portions Copyright (c) 1994, Regents of the University of California | 
|---|
| 8 | * | 
|---|
| 9 | *------------------------------------------------------------------------- | 
|---|
| 10 | */ | 
|---|
| 11 | #ifndef PG_REWIND_H | 
|---|
| 12 | #define PG_REWIND_H | 
|---|
| 13 |  | 
|---|
| 14 | #include "datapagemap.h" | 
|---|
| 15 |  | 
|---|
| 16 | #include "access/timeline.h" | 
|---|
| 17 | #include "storage/block.h" | 
|---|
| 18 | #include "storage/relfilenode.h" | 
|---|
| 19 |  | 
|---|
| 20 | #include "common/logging.h" | 
|---|
| 21 |  | 
|---|
| 22 | /* Configuration options */ | 
|---|
| 23 | extern char *datadir_target; | 
|---|
| 24 | extern char *datadir_source; | 
|---|
| 25 | extern char *connstr_source; | 
|---|
| 26 | extern bool showprogress; | 
|---|
| 27 | extern bool dry_run; | 
|---|
| 28 | extern int	WalSegSz; | 
|---|
| 29 |  | 
|---|
| 30 | /* Target history */ | 
|---|
| 31 | extern TimeLineHistoryEntry *targetHistory; | 
|---|
| 32 | extern int	targetNentries; | 
|---|
| 33 |  | 
|---|
| 34 | /* Progress counters */ | 
|---|
| 35 | extern uint64 fetch_size; | 
|---|
| 36 | extern uint64 fetch_done; | 
|---|
| 37 |  | 
|---|
| 38 | /* logging support */ | 
|---|
| 39 | #define pg_fatal(...) do { pg_log_fatal(__VA_ARGS__); exit(1); } while(0) | 
|---|
| 40 |  | 
|---|
| 41 | /* in parsexlog.c */ | 
|---|
| 42 | extern void (const char *datadir, XLogRecPtr startpoint, | 
|---|
| 43 | int tliIndex, XLogRecPtr endpoint); | 
|---|
| 44 | extern void findLastCheckpoint(const char *datadir, XLogRecPtr searchptr, | 
|---|
| 45 | int tliIndex, | 
|---|
| 46 | XLogRecPtr *lastchkptrec, TimeLineID *lastchkpttli, | 
|---|
| 47 | XLogRecPtr *lastchkptredo); | 
|---|
| 48 | extern XLogRecPtr readOneRecord(const char *datadir, XLogRecPtr ptr, | 
|---|
| 49 | int tliIndex); | 
|---|
| 50 |  | 
|---|
| 51 | /* in pg_rewind.c */ | 
|---|
| 52 | extern void progress_report(bool force); | 
|---|
| 53 |  | 
|---|
| 54 | /* in timeline.c */ | 
|---|
| 55 | extern TimeLineHistoryEntry *rewind_parseTimeLineHistory(char *buffer, | 
|---|
| 56 | TimeLineID targetTLI, int *nentries); | 
|---|
| 57 |  | 
|---|
| 58 | #endif							/* PG_REWIND_H */ | 
|---|
| 59 |  | 
|---|