]> granicus.if.org Git - postgresql/commit
Flush logical mapping files with fd opened for read/write at checkpoint
authorMichael Paquier <michael@paquier.xyz>
Wed, 9 Oct 2019 04:30:43 +0000 (13:30 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 9 Oct 2019 04:30:43 +0000 (13:30 +0900)
commitb8e19b932a99a7eb5a3bce84e74b0b7c093d0981
tree9b4432fd6b7a3dd6aefe101bb41995804d701bc5
parent1634d361577aab30c7d90336c96b969a2f5e5811
Flush logical mapping files with fd opened for read/write at checkpoint

The file descriptor was opened with read-only to fsync a regular file,
which would cause EBADFD errors on some platforms.

This is similar to the recent fix done by a586cc4b (which was broken by
me with 82a5649), except that I noticed this issue while monitoring the
backend code for similar mistakes.  Backpatch to 9.4, as this has been
introduced since logical decoding exists as of b89e151.

Author: Michael Paquier
Reviewed-by: Andres Freund
Discussion: https://postgr.es/m/20191006045548.GA14532@paquier.xyz
Backpatch-through: 9.4
src/backend/access/heap/rewriteheap.c