diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-03-12 22:46:04 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-03-12 23:28:36 +0200 |
commit | a3115f0d9ec1ac93b82156535dc00b10172a4fe7 (patch) | |
tree | 675870269d119e1632d9345539efd11ac16d044e /src/include/access/xlog.h | |
parent | 17d787a3b160eefb2ff4a3fdf12ca1fedc02cbc1 (diff) | |
download | postgresql-a3115f0d9ec1ac93b82156535dc00b10172a4fe7.tar.gz postgresql-a3115f0d9ec1ac93b82156535dc00b10172a4fe7.zip |
Only WAL-log the modified portion in an UPDATE, if possible.
When a row is updated, and the new tuple version is put on the same page as
the old one, only WAL-log the part of the new tuple that's not identical to
the old. This saves significantly on the amount of WAL that needs to be
written, in the common case that most fields are not modified.
Amit Kapila, with a lot of back and forth with me, Robert Haas, and others.
Diffstat (limited to 'src/include/access/xlog.h')
-rw-r--r-- | src/include/access/xlog.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index a238292b76e..35092284664 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -279,6 +279,7 @@ typedef struct CheckpointStatsData extern CheckpointStatsData CheckpointStats; extern XLogRecPtr XLogInsert(RmgrId rmid, uint8 info, XLogRecData *rdata); +extern bool XLogCheckBufferNeedsBackup(Buffer buffer); extern void XLogFlush(XLogRecPtr RecPtr); extern bool XLogBackgroundFlush(void); extern bool XLogNeedsFlush(XLogRecPtr RecPtr); |