Re: [Proposal] Global temporary tables - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [Proposal] Global temporary tables
Date
Msg-id CA+Tgmoa0uvT1UHmhBLTCn3K5zw_C13fz49Fx7=_sNoi+Xe0UvQ@mail.gmail.com
Whole thread Raw
In response to Re: [Proposal] Global temporary tables  ("曾文旌(义从)" <wenjing.zwj@alibaba-inc.com>)
Responses Re: [Proposal] Global temporary tables  ("曾文旌(义从)" <wenjing.zwj@alibaba-inc.com>)
List pgsql-hackers
On Sat, Feb 1, 2020 at 11:14 AM 曾文旌(义从) <wenjing.zwj@alibaba-inc.com> wrote:
> As global_private_temp-8.patch, think about:
> 1 session X tale several hours doing some statistical work with the GTT A, which generated some data using
transaction100, The work is not over. 
> 2 Then session Y vacuumed A, and the GTT's relfrozenxid (in pg_class) was updated to 1000 0000.
> 3 Then the aotuvacuum happened, the clog  before 1000 0000 was cleaned up.
> 4 The data in session A could be lost due to missing clog, The analysis task failed.
>
> However This is likely to happen because you allowed the GTT do vacuum.
> And this is not a common problem, that not happen with local temp tables.
> I feel uneasy about leaving such a question. We can improve it.

Each session is going to need to maintain its own notion of the
relfrozenxid and relminmxid of each GTT to which it is attached.
Storing the values in pg_class makes no sense and is completely
unacceptable.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Floris Van Nee
Date:
Subject: RE: Index Skip Scan
Next
From: Tomas Vondra
Date:
Subject: Re: Complete data erasure