Missing Chunk Error when doing a VACUUM FULL operation - DB Corruption?

From: Arjun Ranade <ranade(at)nodalexchange(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Missing Chunk Error when doing a VACUUM FULL operation - DB Corruption?
Date: 2017-10-31 19:37:19
Message-ID: CANrrCRwH9ZnW+XtOxozEUPqWuHrfNNqDw9K3H69k513i7-YryQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

We had some downtime recently and I thought it would be a good idea to do a
periodic VACUUM FULL of one of our large Postgres DB's.

However, when I tried to attempt the VACUUM FULL, I saw the following error:

INFO: vacuuming "pg_catalog.pg_statistic"

vacuumdb: vacuuming of database "db1" failed: ERROR: missing chunk number
0 for toast value 30382746 in pg_toast_2619

Given that pg_statistic is inessential data (it can be rebuilt by analyzing
each table), I did a 'DELETE FROM pg_statistic;' which removed all the
rows. However, when I ran the VACUUM FULL again, I received the same error.

I also took a full base backup and restored it to another server. On the
restored server, I attempted the VACUUM FULL operation and it ran with no
errors.

Does anyone know what this could point to? Is my original database
corrupt? I have tried REINDEX on the pg_toast_2619 table and other
solutions I have found around the internet with no success.

Thanks for any input you can provide.

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2017-10-31 19:59:02 Re: Missing Chunk Error when doing a VACUUM FULL operation - DB Corruption?
Previous Message rammohan ganapavarapu 2017-10-31 18:10:13 Re: Postgresql Upgrade from 9.3 to 9.4 failing