1 /*-------------------------------------------------------------------------
4 * Exports from postmaster/bgwriter.c and postmaster/checkpointer.c.
6 * The bgwriter process used to handle checkpointing duties too. Now
7 * there is a separate process, but we did not bother to split this header.
9 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
11 * src/include/postmaster/bgwriter.h
13 *-------------------------------------------------------------------------
18 #include "storage/block.h"
19 #include "storage/relfilelocator.h"
20 #include "storage/smgr.h"
21 #include "storage/sync.h"
25 extern PGDLLIMPORT
int BgWriterDelay
;
26 extern PGDLLIMPORT
int CheckPointTimeout
;
27 extern PGDLLIMPORT
int CheckPointWarning
;
28 extern PGDLLIMPORT
double CheckPointCompletionTarget
;
30 extern void BackgroundWriterMain(char *startup_data
, size_t startup_data_len
) pg_attribute_noreturn();
31 extern void CheckpointerMain(char *startup_data
, size_t startup_data_len
) pg_attribute_noreturn();
33 extern void RequestCheckpoint(int flags
);
34 extern void CheckpointWriteDelay(int flags
, double progress
);
36 extern bool ForwardSyncRequest(const FileTag
*ftag
, SyncRequestType type
);
38 extern void AbsorbSyncRequests(void);
40 extern Size
CheckpointerShmemSize(void);
41 extern void CheckpointerShmemInit(void);
43 extern bool FirstCallSinceLastCheckpoint(void);
45 #endif /* _BGWRITER_H */