diff options
author | Robert Haas <rhaas@postgresql.org> | 2012-09-14 09:35:07 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2012-09-14 09:39:10 -0400 |
commit | fef2c17807e095a04441e4f1fe05f75d5578ead2 (patch) | |
tree | 8a1a92ca03183fdbe80bc34c5ee3517a5950e903 /src/backend/storage/buffer/bufmgr.c | |
parent | df4234d7a9a522073712138da422836e5a637671 (diff) |
Properly set relpersistence for fake relcache entries.
This can result in buffers failing to be properly flushed at
checkpoint time, leading to data loss.
Report, diagnosis, and patch by Jeff Davis.
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 5eff617ed7a..d7f78294207 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -269,6 +269,8 @@ ReadBufferWithoutRelcache(RelFileNode rnode, ForkNumber forkNum, SMgrRelation smgr = smgropen(rnode, InvalidBackendId); + Assert(InRecovery); + return ReadBuffer_common(smgr, RELPERSISTENCE_PERMANENT, forkNum, blockNum, mode, strategy, &hit); } |