pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Jenn <smith.rents@gmail.com>
Cc: pgsql-admin@lists.postgresql.org
Subject: Re: Need help to debug ERROR: MultiXactId 808530957 has not been created yet -- apparent
Date: Thu, 27 Jun 2019 19:47:35 -0400
Message-ID: <20190627234735.GA9854@alvherre.pgsql> (raw)
In-Reply-To: <CADR+diih7uRdTtL-9r9a1ExZx32yMrVjYL7uhDaVCM-X_O6oyg@mail.gmail.com>

On 2019-Jun-28, Jenn wrote:

> Getting "MultiXactId 808530957 has not been created yet -- apparent" error
> when trying to VACUUM FREEZE big table, about 263m rows. Normal VACUUM runs
> fine.
> Also tried to recreate the table and there were no errors "create table
> my_table_copy as
>   select * from my_table".
> 
> 1.Is it data corruption problem?
> 2.how to diagnose the error and possibly fix?

Yeah, it seems like data corruption -- that multixact value is not
anywhere near a reasonable range.  Can you find out what page it is
complaining about, and get a heap_page_items() from that page?

instructions for part 1:
1. in command line: gdb -p <pid>, where PID comes from
   "select pg_backend_pid()" in psql
2. in gdb, do "break errfinish", then "cont".  It should wedge.
3. in psql, execute the query that throws the error
4. gdb becomes alive.  Do "bt full".  A page number is displayed
somewhere in the resulting stack trace.  If you don't know where to
look, paste the output here.

part 2:
1. create extension pageinspect
2. select * from heap_page_items(get_raw_page('yourtable'::regclass, <page number>));
3. paste output here

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services





view thread (2+ messages)

Message-ID: <20190627234735.GA9854@alvherre.pgsql>
Permalink:  ../20190627234735.GA9854@alvherre.pgsql/
Also on:    postgresql.org/message-id/20190627234735.GA9854@alvherre.pgsql

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: alvherre@2ndquadrant.com, smith.rents@gmail.com, pgsql-admin@lists.postgresql.org
  Subject: Re: Need help to debug ERROR: MultiXactId 808530957 has not been created yet -- apparent
  In-Reply-To: <20190627234735.GA9854@alvherre.pgsql>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox