IMHO, overall, there should be pros and cons of the current approach and the new UNDo one (like Oracle?), depending on
theworkload. Under update-heavy workload, the UNDO method may be better. OTOH, under the mostly-INSERT workload (like
datawarehouse?), the current method will be better because it writes no log for UNDO.
Furthermore, it maybe the best to be able to switch the method for each table and/or tablespace. For example, in
pgbench,history table uses the current method,
and other tables use the UNDO method. Is it time to introduce a pluggable storage system?
Because PostgreSQL is a follower in the UNDO approach, I think it will be better to study other DBMSs well (Oracle and
MySQL?). That includes not only their manuals, but also whitepapers and books. Especially, I expect good books to give
deepknowledge on performance tuning and troubleshooting, from which we will be able to know the cons that Oracle's
materialsdon't state.
Regards
Takayuki Tsunakawa