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-2020, 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