Ivan> Since AFAIK temp tables are very close to unlogged ordinary Ivan> tables, what would stop this feature from being implemented?
The key difference between temp tables and other tables is that temp table data does not use the shared_buffers but is buffered only in backend-local memory.
This means that other processes (like, say, an autovacuum process) can not access the content of temp tables. So what you want is not possible.
Understood.
So, a related question, since we have dozens of temp tables and a lot of code, is there a way to look up what temp tables are being created by the current session, so I can do a VACUUM or ANALYZE on all of them in bulk? I know I can inspect pg_temp_* schema, but how to figure out which one is from the current session?