Hi all, Here is the new patch which fixes all of above comments, I changed the design a bit now as below
What is it? =========== A pair of bgwrokers one which automatically dumps buffer pool's block info at a given interval and another which loads those block into buffer pool when the server restarts.
Are 2 workers required? This would reduce the number of workers to be launched by other applications. Also with max_worker_processes = 2 and restart, the system crashes when the 2nd worker is not launched:
2017-02-07 11:36:39.132 IST [20573] LOG: auto pg_prewarm load : number of buffers actually tried to load 64
2017-02-07 11:36:39.143 IST [18014] LOG: worker process: auto pg_prewarm load (PID 20573) was terminated by signal 11: Segmentation fault
I think the document should also mention that an appropriate max_worker_processes should be set else the dump worker will not be launched at all.