| From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
|---|---|
| To: | Jenn <smith(dot)rents(at)gmail(dot)com> |
| Cc: | pgsql-admin(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Need help to debug ERROR: MultiXactId 808530957 has not been created yet -- apparent |
| Date: | 2019-06-27 23:47:35 |
| Message-ID: | 20190627234735.GA9854@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pavan Kumar | 2019-06-28 15:09:51 | how to understand checkpoint information in pg_control data |
| Previous Message | Jenn | 2019-06-27 22:24:57 | Need help to debug ERROR: MultiXactId 808530957 has not been created yet -- apparent |