Is it possible to have a temporary, on-the-fly PostgreSQL table which only ever lives in RAM?
You might be missing the obvious candidate: a TEMPORARY TABLE.
It lives in memory if enough RAM has been allocated with the temp_buffers setting. Only the current session can see it, no WAL is written for it (which is the main reason why it's faster) and it is dropped at the end of the session automatically.
If it must live past the current session, consider an UNLOGGED TABLE instead.
Be aware that temp tables are not covered by autovacuum. See:

Are regular VACUUM ANALYZE still recommended under 9.1?

But there are still entries in regular system catalogs, so it's not 100 % &quot;in RAM&quot;.
Details in the manual for CREATE TABLE.