projects
/
postgresql.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
700e8fe
)
fsync pg_logical/mappings in CheckPointLogicalRewriteHeap().
author
Andres Freund
<
[email protected]
>
Fri, 21 Jan 2022 19:22:55 +0000
(11:22 -0800)
committer
Andres Freund
<
[email protected]
>
Fri, 21 Jan 2022 19:24:12 +0000
(11:24 -0800)
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 <
[email protected]
>
Author: Nathan Bossart <
[email protected]
>
Discussion: https://postgr.es/m/
867F2E29
-2782-4869-970E-
B984C6D35A8F
@amazon.com
Backpatch: 10-
src/backend/access/heap/rewriteheap.c
patch
|
blob
|
blame
|
history
diff --git
a/src/backend/access/heap/rewriteheap.c
b/src/backend/access/heap/rewriteheap.c
index 1aff62cd423a14314e8c3a6343f6c28c88953368..15bef9f7d3039d9d26324f750523bd07c098aa85 100644
(file)
--- a/
src/backend/access/heap/rewriteheap.c
+++ b/
src/backend/access/heap/rewriteheap.c
@@
-1289,4
+1289,7
@@
CheckPointLogicalRewriteHeap(void)
}
}
FreeDir(mappings_dir);
+
+ /* persist directory entries to disk */
+ fsync_fname("pg_logical/mappings", true);
}