[snip]
I've been harping on this problem myself the last couple days.
A summary table with frequent vacuums is your best bet for the existing
versions of PostgreSQL. It is, IMHO, suboptimal, but a workable solution
depending on the expected database load.
Right now I am exploring the possibility of writing a set of msession
functions for PostgreSQL. The msession project is a high speed high volume
session manager for PHP based websites.
Using PostgreSQL's recent ability to return sets of rows from functions,
it should be possible to create a set of msession functionality in
PostgreSQL that allows really FAST and really temporary variables that,
while syntactically different, behave much like simple tables.