Commit 2b7dbe4b authored by Andres Freund's avatar Andres Freund

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: default avatarTom 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-
parent 700e8fe6
......@@ -1289,4 +1289,7 @@ CheckPointLogicalRewriteHeap(void)
}
}
FreeDir(mappings_dir);
/* persist directory entries to disk */
fsync_fname("pg_logical/mappings", true);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment