fsync pg_logical/mappings in CheckPointLogicalRewriteHeap().
authorAndres Freund <andres@anarazel.de>
Fri, 21 Jan 2022 19:22:55 +0000 (11:22 -0800)
committerAndres Freund <andres@anarazel.de>
Fri, 21 Jan 2022 19:22:55 +0000 (11:22 -0800)
commit1fabec7d7c389181424fa7881632a415584ca7b7
tree8508e6d4df8403ba37972f06fa72f5f719eca7e7
parent6c07f9ebce1579612c4ed9076159f9e942e50f9d
fsync pg_logical/mappings in CheckPointLogicalRewriteHeap().

While individual logical rewrite files were synced to disk, the directory was
not. On some filesystems that could lead to loosing directory entries after a
crash.

Reported-By: Tom Lane <tgl@sss.pgh.pa.us>
Author: Nathan Bossart <bossartn@amazon.com>
Discussion: https://postgr.es/m/867F2E29-2782-4869-970E-B984C6D35A8F@amazon.com
Backpatch: 10-
src/backend/access/heap/rewriteheap.c