Re: ERROR: found xmin from before relfrozenxid; MultiXactid does no longer exist -- apparent wraparound

From: Thom Brown <thom(at)linux(dot)com>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: Alanoly Andrews <alanolya(at)invera(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: ERROR: found xmin from before relfrozenxid; MultiXactid does no longer exist -- apparent wraparound
Date: 2024-05-31 10:14:46
Message-ID: CAA-aLv5sNn4M5NwNFZy6d7mG1TrGJm-_6XGHPXX13OHObvUnaw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, May 31, 2024, 09:29 Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> wrote:

> On Thu, 2024-05-30 at 14:58 +0000, Alanoly Andrews wrote:
> > We have a postgres 10.7 database which reports a number of issues on
> user-created
> > tables as well as system tables. Most errors are one of the following:
> > -- ERROR: found xmin 1888159934 from before relfrozenxid 1998177448
> > -- ERROR: MultiXactId 613819197 does no longer exist -- apparent
> wraparound
> > -- ERROR: could not access status of transaction 1927393975
> > DETAIL: Could not open file "pg_xact/072E": No such file or
> directory.
> >
> > Is there a way to repairing the corruption in this database?
> > Postgres Version 10.7 on Linux(Ubuntu).
>
> Perhaps, but you should hire an expert if the data are important for you.
>

Also, while it's too late now, this could be the result of a bug in the
version you are using that was subsequently repaired in 10.15:

Prevent possible data loss from concurrent truncations of SLRU logs (Noah
Misch)

This rare problem would manifest in later “apparent wraparound” or “could
not access status of transaction” errors.

This is why it's important to keep up-to-date, but even the latest minor
10.x release is out of date as support was dropped back in 2022.

If you manage to get this up and running again, I strongly recommend
upgrading to the latest major and minor release (16.3 at the time of
writing).

Before you try doing anything though, create a physical backup of your
database as situations like this tend to require invasive action that could
potentially make the situation even worse.

Also, did this problem only happen in the last day or two? How frequently
do you take backups? If you have a backup from just before this issue
starting showing itself, and you can afford losing data changes that have
occured since the backup, you may find it far easier and quicker to resort
to using that backup. Of course, you would need to prove to yourself that
the backup was safe by running a VACUUM FREEZE on each database in that
backup before starting to use it. If that runs without issue, you're
probably in the clear.

Best of luck.

Thom

>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alanoly Andrews 2024-05-31 14:33:54 Re: ERROR: found xmin from before relfrozenxid; MultiXactid does no longer exist -- apparent wraparound
Previous Message Laurenz Albe 2024-05-31 08:29:28 Re: ERROR: found xmin from before relfrozenxid; MultiXactid does no longer exist -- apparent wraparound