Originally posted by csn
Sxooter-
That's not "time-travel" (rollback db to a certain point in time) is it?
fixes for making int8 types use indexes by default without extra handling.
What extra handling is there (currently)?
What's fsm? File System M....? 😉
.. 2 or 3 phase commit ...
Is that nested transactions?
PITR is close to time travel, but more oriented towards recovery. Basically, it allows you to make a backup on say, Sunday, then store all the transactions after that. Then, should something horrible befall your database, you can restore from Sunday's backup, then roll forward all the transaction logs up to a certain point in time. It also acts as a nice underlying mechanism for lazy / async replication.
The extra handling is basically a few minor hacks to things like JBoss CMP (connection management pooling or something like that) lib that adds ' marks around numbers in the where clause so that postgresql will coerce them to match the proper index type (i.e. int8/int2).
fsm is free space map. It's a map of free space in the database tables that vacuum fills up when run in lazy mode (i.e. plain vacuums, not vacuum full) which the database can then use again. What they're looking at doing is having a built in lazy vacuum process that runs in the background and harvests free pages only in pages that are currently in the buffer. This is cheap to do since it involves no I/O.
2 or 3 phase commit is a way of performing distributed transactions wherein a master db server initiates the transaction, then sends a copy of it to another server (it's slave) which then either commits it or not, and the master can be programmed to handle slave failure in many ways.
It basically is a way of providing replication / high reliability in certain environments.