From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Thierry Husson <thusson(at)informiciel(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Temp table handling after anti-wraparound shutdown (Was: BUG #15840) |
Date: | 2019-06-07 22:58:43 |
Message-ID: | 20190607225843.z73jqqyy6hhc6qnp@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Hi,
(Moving a part of this discussion to hackers)
In #15840 Thierry had the situation that autovacuum apparently could not
keep up, and he ended up with a wraparound situation. Following the
hints and shutting down the cluster and vacuuming the relevant DB in
single user mode did not resolve the issue however. That's because there
was a session with temp tables:
On 2019-06-07 16:40:27 -0500, Thierry Husson wrote:
> oid | oid | relkind | relfrozenxid |
> age
> --------+--------------------------------------+---------+--------------+------------
> 460564 | pg_temp_3.cur_semt700_progsync_4996 | r | 36464 |
> 2146483652
> 460764 | pg_temp_8.cur_semt700_progsync_5568 | r | 19836544 |
> 2126683572
> 460718 | pg_temp_4.cur_semt700_progsync_5564 | r | 19836544 |
> 2126683572
> 460721 | pg_temp_5.cur_semt700_progsync_5565 | r | 19836544 |
> 2126683572
> 461068 | pg_temp_22.cur_semt700_progsync_5581 | r | 19836544 |
> 2126683572
>
> These are temporary tables to manage concurrency & server load. It seems the
> sudden disconnection due to wraparound protection didn't get them removed. I
> removed them manually under single mode and there is no more warning now,
> vacuum command included. Your command is very interesting to know.
And our logic for dropping temp tables only kicks in autovacuum, but not
in a database manual VACUUM.
Which means that currently the advice we give, namely to shut down and
vacuum the database in singleuser mode plainly doesn't work. Without any
warnings hinting in the right direction.
Do we need to move the orphan temp cleanup code into database vacuums or
such?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2019-06-07 23:01:03 | Re: BUG #15840: Vacuum does not work after database stopped for wraparound protection. Database seems unrepearable. |
Previous Message | Thierry Husson | 2019-06-07 22:49:52 | Re: BUG #15840: Vacuum does not work after database stopped for wraparound protection. Database seems unrepearable. |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2019-06-07 23:01:03 | Re: BUG #15840: Vacuum does not work after database stopped for wraparound protection. Database seems unrepearable. |
Previous Message | Thierry Husson | 2019-06-07 22:49:52 | Re: BUG #15840: Vacuum does not work after database stopped for wraparound protection. Database seems unrepearable. |