Send only one FORGET_RELATION_FSYNC request when dropping a relation.
Tom Lane <tgl@sss.pgh.pa.us>
Send only one FORGET_RELATION_FSYNC request when dropping a relation. We were sending one per fork, but a little bit of refactoring allows us to send just one request with forknum == InvalidForkNumber. This not only reduces pressure on the shared-memory request queue, but saves repeated traversals of the checkpointer's hash table.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/smgr/md.c | modified | +32 −7 |
| src/backend/storage/smgr/smgr.c | modified | +1 −2 |