projects
/
postgresql.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
919be95
)
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 f208b5c4aa90ad668fafe2da73d75490158f97b3..894bb17fcc6b41538643e850d19fd0f7c7bf8ddc 100644
(file)
--- a/
src/backend/access/heap/rewriteheap.c
+++ b/
src/backend/access/heap/rewriteheap.c
@@
-1307,4
+1307,7
@@
CheckPointLogicalRewriteHeap(void)
}
}
FreeDir(mappings_dir);
+
+ /* persist directory entries to disk */
+ fsync_fname("pg_logical/mappings", true);
}