diff options
| author | Simon Riggs | 2012-06-01 08:24:53 +0000 |
|---|---|---|
| committer | Simon Riggs | 2012-06-01 08:24:53 +0000 |
| commit | 055c352abbf764a08496e94054137da9e26dac04 (patch) | |
| tree | 498c69122a13e44fc59a3b913bea47259a291a30 /src/backend/postmaster/bgwriter.c | |
| parent | a297d64d9223f6bd9c495ff5726a3c99080c2a4a (diff) | |
After any checkpoint, close all smgr files handles in bgwriter
Diffstat (limited to 'src/backend/postmaster/bgwriter.c')
| -rw-r--r-- | src/backend/postmaster/bgwriter.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index 9ad7178aeb8..32c254c8420 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -276,6 +276,15 @@ BackgroundWriterMain(void) */ pgstat_send_bgwriter(); + if (FirstCallSinceLastCheckpoint()) + { + /* + * After any checkpoint, close all smgr files. This is so we + * won't hang onto smgr references to deleted files indefinitely. + */ + smgrcloseall(); + } + /* * Sleep until we are signaled or BgWriterDelay has elapsed. * |
