vacuumdb fails with error pg_statistic_relid_att_inh_index constraint violation after upgrade to 9.6
Hello,
We have upgraded our database from 9.5 to 9.6 version.
After upgrade we ran vacuumdb command and we are getting following error:
vacuumdb: vacuuming of database "advdfat" failed: ERROR: duplicate key
value violates unique constraint "pg_statistic_relid_att_inh_index"
DETAIL: Key (starelid, staattnum, stainherit)=(1259, 1, f) already exists.
Can anyone help here?
--
Thanks & Regards,
Swapnil Vaze
Swapnil Vaze <swapvaze28@gmail.com> writes:
We have upgraded our database from 9.5 to 9.6 version.
After upgrade we ran vacuumdb command and we are getting following error:
vacuumdb: vacuuming of database "advdfat" failed: ERROR: duplicate key
value violates unique constraint "pg_statistic_relid_att_inh_index"
DETAIL: Key (starelid, staattnum, stainherit)=(1259, 1, f) already exists.
Hmm, odd.
Can anyone help here?
In order of increasing invasiveness:
1. REINDEX pg_statistic_relid_att_inh_index, on the theory that that index
has become corrupt.
2. If #1 fails with a similar message, there must actually be more than
one pg_statistic row with that key. Manually DELETE those rows, then
REINDEX the index, then ANALYZE pg_class to regenerate the deleted
stats. (I suggest reindexing because this case makes it even more likely
that that index is corrupt.)
3. If #2 fails, TRUNCATE pg_statistic, then re-analyze everything to
rebuild the stats.
regards, tom lane