"Jim C. Nasby" <jim@nasby.net> writes:
> On a related note; since temporary tables are only visible to a single
> connection, do they have full MVCC info in them, or can it be bypassed?
You can't really bypass it. You still need the transaction number so
you can tell if a tuple was created by a committed, aborted, or the
current transaction, and you still need the command number for the same
reasons as usual.
We do (in 7.3) bypass WAL logging of changes in temp tables, and we also
use non-shared buffers for them so as to avoid buffer locking overhead.
Not sure there's much more win to be had there. (The local buffer
manager code could stand improvement, but that's a different issue.)
regards, tom lane