From: Yugo Nagata <nagata@sraoss.co.jp>
> 1. Create a temporary table only once at the first view maintenance in
> this session. This is possible if we store names or oid of temporary
> tables used for each materialized view in memory. However, users may
> access to these temptables whenever during the session.
>
> 2. Use tuplestores instead of temprary tables. Tuplestores can be
> converted to Ephemeral Name Relation (ENR) and used in queries.
> It doesn't need updating system catalogs, but indexes can not be
> used to access.
How about unlogged tables ? I thought the point of using a temp table is to avoid WAL overhead.
One concern about the temp table is that it precludes the use of distributed transactions (PREPARE TRANSACTION fails if
thetransaction accessed a temp table.) This could become a headache when FDW has supported 2PC (which Sawada-san
startedand Horicuchi-san has taken over.) In the near future, PostgreSQL may evolve into a shared nothing database
withdistributed transactions like Postgres-XL.
Regards
Takayuki Tsunakawa