Re: [Proposal] Global temporary tables

Konstantin Knizhnik <k.knizhnik@postgrespro.ru>

From: Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>, Pavel Stehule <pavel.stehule@gmail.com>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, 蔡松露(子嘉) <zijia@taobao.com>, "Cai, Le" <le.cai@alibaba-inc.com>, 萧少聪(铁庵) <shaocong.xsc@alibaba-inc.com>
Date: 2020-01-10T12:24:34Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. PageAddItemExtended(): Add LP_UNUSED assertion.

  2. Remove temporary files after backend crash

  3. Fix comment in indexing.c

  4. Fix failure to ignore leftover temp tables after a server crash.


On 09.01.2020 19:30, Tomas Vondra wrote:


>
>>
>>>
>>>> 3 Still no one commented on GTT's transaction information 
>>>> processing, they include
>>>> 3.1 Should gtt's frozenxid need to be care?
>>>> 3.2 gtt’s clog clean
>>>> 3.3 How to deal with "too old" gtt data
>>>>
>>>
>>> No idea what to do about this.
>>>
>>
>> I wonder what is the specific of GTT here?
>> The same problem takes place for normal (local) temp tables, doesn't it?
>>
>
> Not sure. TBH I'm not sure I understand what the issue actually is. 

Just open session, create temporary table and insert some data in it.
Then in other session run 2^31 transactions (at my desktop it takes 
about 2 hours).
As far as temp tables are not proceeded by vacuum, database is stalled:

  ERROR:  database is not accepting commands to avoid wraparound data 
loss in database "postgres"

It seems to be quite dubious behavior and it is strange to me that 
nobody complains about it.
We discuss  many issues related with temp tables (statistic, parallel 
queries,...) which seems to be less critical.

But this problem is not specific to GTT - it can be reproduced with 
normal (local) temp tables.
This is why I wonder why do we need to solve it in GTT patch.

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company