Я недавно столкнулся с ошибкой Postgres (моя БД повреждена), в основном, некоторые строки в БД дублированы (вместе с первичным ключом).Прежде чем я продолжу, вот ошибки, упомянутые в этом посте:
ERROR: uncommitted xmin 393410960 from before xid cutoff 393413059 needs to be frozen
ИЛИ
ERROR: failed to find parent tuple for heap-only tuple at (3,8) in table "your_table"
Очевидно, значение xmin
393410960
, значение отсечения393413059
и ctid
значение (3,8)
может отличаться в вашем случае.
Как я получаю эти ошибки:
Если выхотите получить эти ошибки (и у вас есть эта проблема), вот как вы могли бы их найти:
your_db=# VACUUM FULL your_table;
ERROR: uncommitted xmin 393410960 from before xid cutoff 393413059 needs to be frozen
И получить вторую ошибку:
your_db=# REINDEX TABLE your_table;
ERROR: failed to find parent tuple for heap-only tuple at (3,8) in table "your_table"
DON 'Т ПАНИКА!Решение этой проблемы приведено ниже:)