1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * bgwriter.h |
4 | * Exports from postmaster/bgwriter.c and postmaster/checkpointer.c. |
5 | * |
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. |
8 | * |
9 | * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group |
10 | * |
11 | * src/include/postmaster/bgwriter.h |
12 | * |
13 | *------------------------------------------------------------------------- |
14 | */ |
15 | #ifndef _BGWRITER_H |
16 | #define _BGWRITER_H |
17 | |
18 | #include "storage/block.h" |
19 | #include "storage/relfilenode.h" |
20 | #include "storage/smgr.h" |
21 | #include "storage/sync.h" |
22 | |
23 | |
24 | /* GUC options */ |
25 | extern int BgWriterDelay; |
26 | extern int CheckPointTimeout; |
27 | extern int CheckPointWarning; |
28 | extern double CheckPointCompletionTarget; |
29 | |
30 | extern void BackgroundWriterMain(void) pg_attribute_noreturn(); |
31 | extern void CheckpointerMain(void) pg_attribute_noreturn(); |
32 | |
33 | extern void RequestCheckpoint(int flags); |
34 | extern void CheckpointWriteDelay(int flags, double progress); |
35 | |
36 | extern bool ForwardSyncRequest(const FileTag *ftag, SyncRequestType type); |
37 | |
38 | extern void AbsorbSyncRequests(void); |
39 | |
40 | extern Size CheckpointerShmemSize(void); |
41 | extern void CheckpointerShmemInit(void); |
42 | |
43 | extern bool FirstCallSinceLastCheckpoint(void); |
44 | |
45 | #endif /* _BGWRITER_H */ |
46 | |