Re: Temporary tables prevent autovacuum, leading to XID wraparound

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Temporary tables prevent autovacuum, leading to XID wraparound
Date: 2018-01-25 08:17:12
Message-ID: 20180125081712.GA17847@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jan 25, 2018 at 08:10:00AM +0000, Tsunakawa, Takayuki wrote:
>>> * In this incident, autovacuum worker misjudged that
>>> pg_temp_3.fetchchunks can't be deleted, although the creator
>>> (pg_rewind) is no longer active. How can we delete orphan temporary
>>> tables safely?
>>
>> As long as Postgres sees that its temporary schema is in use, it would think
>> that the table is not orphaned. Another thing possible would be to have
>> the session now holding this schema space to reuse fetchchunks so as things
>> are reset.
>
> I understood you suggested a new session which recycle the temp schema
> should erase the zombie metadata of old temp tables or recreate the
> temp schema. That sounds easy.

If the new session makes use of the same temporary schema where the
orphan table is, cleanup is possible. Now you have a problem if this is
not available as this depends on the backend ID uniquely assigned. It
would be better to just drop the table manually at the end.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2018-01-25 08:25:34 RE: Temporary tables prevent autovacuum, leading to XID wraparound
Previous Message Tsunakawa, Takayuki 2018-01-25 08:10:00 RE: Temporary tables prevent autovacuum, leading to XID wraparound