postgresql/src/include/access
Simon Riggs 978b2f65aa Speedup 2PC by skipping two phase state files in normal path
2PC state info is written only to WAL at PREPARE, then read back from WAL at
COMMIT PREPARED/ABORT PREPARED. Prepared transactions that live past one bufmgr
checkpoint cycle will be written to disk in the same form as previously. Crash
recovery path is not altered. Measured performance gains of 50-100% for short
2PC transactions by completely avoiding writing files and fsyncing. Other
optimizations still available, further patches in related areas expected.

Stas Kelvich and heavily edited by Simon Riggs

Based upon earlier ideas and patches by Michael Paquier and Heikki Linnakangas,
a concrete example of how Postgres-XC has fed back ideas into PostgreSQL.

Reviewed by Michael Paquier, Jeff Janes and Andres Freund
Performance testing by Jesper Pedersen
2016-01-20 18:40:44 -08:00
..
amapi.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
attnum.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
brin.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
brin_internal.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
brin_page.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
brin_pageops.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
brin_revmap.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
brin_tuple.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
brin_xlog.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
clog.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
commit_ts.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
genam.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
gin.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
gin_private.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
gist.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
gist_private.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
gistscan.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
hash.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
heapam.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
heapam_xlog.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
hio.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
htup.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
htup_details.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
itup.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
multixact.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
nbtree.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
parallel.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
printtup.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
reloptions.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
relscan.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
rewriteheap.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
rmgr.h Add rmgr callback to name xlog record types for display purposes. 2014-09-19 16:20:29 +02:00
rmgrlist.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
sdir.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
skey.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
slru.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
spgist.h Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
spgist_private.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
stratnum.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
subtrans.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
sysattr.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
timeline.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
transam.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
tsmapi.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
tupconvert.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
tupdesc.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
tupmacs.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
tuptoaster.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
twophase.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
twophase_rmgr.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
valid.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
visibilitymap.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xact.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xlog.h Speedup 2PC by skipping two phase state files in normal path 2016-01-20 18:40:44 -08:00
xlog_fn.h Add new user fn pg_current_xlog_flush_location() 2016-01-12 07:54:52 +00:00
xlog_internal.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xlogdefs.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xloginsert.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xlogreader.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xlogrecord.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
xlogutils.h Refactor to create generic WAL page read callback 2016-01-20 17:18:58 -08:00