PostgreSQL Source Code  git master
walsummarizer.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * walsummarizer.h
4  *
5  * Header file for background WAL summarization process.
6  *
7  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8  *
9  * IDENTIFICATION
10  * src/include/postmaster/walsummarizer.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef WALSUMMARIZER_H
15 #define WALSUMMARIZER_H
16 
17 #include "access/xlogdefs.h"
18 
19 extern PGDLLIMPORT bool summarize_wal;
21 
22 extern Size WalSummarizerShmemSize(void);
23 extern void WalSummarizerShmemInit(void);
24 extern void WalSummarizerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
25 
26 extern void GetWalSummarizerState(TimeLineID *summarized_tli,
27  XLogRecPtr *summarized_lsn,
28  XLogRecPtr *pending_lsn,
29  int *summarizer_pid);
31  bool *lsn_is_exact,
32  bool reset_pending_lsn);
33 extern void SetWalSummarizerLatch(void);
34 extern XLogRecPtr WaitForWalSummarization(XLogRecPtr lsn, long timeout,
35  XLogRecPtr *pending_lsn);
36 
37 #endif
#define PGDLLIMPORT
Definition: c.h:1316
#define pg_attribute_noreturn()
Definition: c.h:217
size_t Size
Definition: c.h:605
void SetWalSummarizerLatch(void)
XLogRecPtr WaitForWalSummarization(XLogRecPtr lsn, long timeout, XLogRecPtr *pending_lsn)
PGDLLIMPORT bool summarize_wal
Size WalSummarizerShmemSize(void)
XLogRecPtr GetOldestUnsummarizedLSN(TimeLineID *tli, bool *lsn_is_exact, bool reset_pending_lsn)
PGDLLIMPORT int wal_summary_keep_time
void GetWalSummarizerState(TimeLineID *summarized_tli, XLogRecPtr *summarized_lsn, XLogRecPtr *pending_lsn, int *summarizer_pid)
void WalSummarizerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn()
void WalSummarizerShmemInit(void)
uint64 XLogRecPtr
Definition: xlogdefs.h:21
uint32 TimeLineID
Definition: xlogdefs.h:59