Re: recovering from "found xmin ... from before relfrozenxid ..."

Поиск
Список
Период
Сортировка
Искать
От
Andres Freund
Тема
Re: recovering from "found xmin ... from before relfrozenxid ..."
Дата
Msg-id
20200715154118.cb6trelzrjbitz6s@alap3.anarazel.de
Ответ на
Список
Дерево обсуждения
recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Stephen Frost <sfrost@snowman.net>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Fujii Masao <masao.fujii@oss.nttdata.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." MBeena Emerson <mbeena.emerson@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Asim Praveen <pasim@vmware.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Alvaro Herrera <alvherre@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Mark Dilger <mark.dilger@enterprisedb.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Justin Pryzby <pryzby@telsasoft.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Amit Kapila <amit.kapila16@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andrey Borodin <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Michael Banck <michael.banck@credativ.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andrey Borodin <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Amit Kapila <amit.kapila16@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Ashutosh Sharma <ashu.coek88@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Alvaro Herrera <alvherre@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Alvaro Herrera <alvherre@2ndquadrant.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Andres Freund <andres@anarazel.de>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Tom Lane <tgl@sss.pgh.pa.us>
Re: recovering from "found xmin ... from before relfrozenxid ..." Jochem van Dieten <jochemd@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Magnus Hagander <magnus@hagander.net>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Magnus Hagander <magnus@hagander.net>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Magnus Hagander <magnus@hagander.net>
Re: recovering from "found xmin ... from before relfrozenxid ..." Stephen Frost <sfrost@snowman.net>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Thomas Munro <thomas.munro@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Robert Haas <robertmhaas@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Thomas Munro <thomas.munro@gmail.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Peter Geoghegan <pg@bowt.ie>
Re: recovering from "found xmin ... from before relfrozenxid ..." Chris Travers <chris.travers@adjust.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>
Re: recovering from "found xmin ... from before relfrozenxid ..." "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Hi,

On 2020-07-14 15:59:21 -0400, Robert Haas wrote:
> On Tue, Jul 14, 2020 at 3:42 PM Andres Freund  wrote:
> > The "found xmin ... from before relfrozenxid ..." cases should all be
> > fixable without needing such a function, and without it making fixing
> > them significantly easier, no? As far as I understand your suggested
> > solution, you need the tid(s) of these tuples, right? If you have those,
> > I don't think it's meaningfully harder to INSERT ... DELETE WHERE ctid =
> > .... or something like that.
> >
> > ISTM that the hard part is finding all problematic tuples in an
> > efficient manner (i.e. that doesn't require one manual VACUUM for each
> > individual block + parsing VACUUMs error message), not "fixing" those
> > tuples.
> 
> I haven't tried the INSERT ... DELETE approach, but I've definitely
> seen a case where a straight UPDATE did not fix the problem; VACUUM
> continued failing afterwards.

The only way I can see that to happen is for the old tuple's multixact
being copied forward. That'd not happen with INSERT ... DELETE.


> In that case, it was a system catalog
> that was affected, and not one where TRUNCATE + re-INSERT was remotely
> practical.

FWIW, an rewriting ALTER TABLE would likely also fix it. But obviously
that'd require allow_system_table_mods...



> Do you have a reason for believing that INSERT ... DELETE is going to
> be better than UPDATE? It seems to me that either way you can end up
> with a deleted and thus invisible tuple that you still can't get rid
> of.

None of the "new" checks around freezing would apply to deleted
tuples. So we shouldn't fail with an error like $subject.

Greetings,

Andres Freund


В списке pgsql-hackers по дате отправления
От: Andrew Dunstan
Дата:
От: Andres Freund
Дата:
FAQ