Jimmy Choi wrote:
I would like to use temporary table as a caching mechanism to speed up queries within the same session.
Is this what temporary table is designed for? Are there caveats that I should be aware of? Can you think of other better alternatives?
It's a very common usage of temporary tables. Another is when loading data that you want to process / split up.
Bear in mind that a temporary table is private to a particular backend, so if you had 100 connections all using a temporary table for the same query, that could be 100 copies of the data - not necessarily a performance improvement.
Also, temporary tables have real entries in the system-tables, so make sure autovacuum (or your manual vacuums) are scanning pg_class etc often enough.
-- Richard Huxton Archonet Ltd ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend