Не удалось выполнить резервное копирование: ошибка в таблице email_logs

Здравствуйте,

У нас есть экземпляр Discourse, который мы не можем резервировать (и обновлять) уже довольно долгое время.
При запуске резервного копирования мы получаем эту ошибку:

pg_dump: выгрузка содержимого таблицы "public.email_change_requests"
pg_dump: обработка данных для таблицы "public.email_logs"
pg_dump: выгрузка содержимого таблицы "public.email_logs"
pg_dump: ошибка: Не удалось выгрузить содержимое таблицы "email_logs": PQgetResult() failed.
pg_dump: ошибка: Сообщение об ошибке от сервера: ERROR:  could not access status of transaction 4156776275
DETAIL:  Could not open file "pg_xact/0F7C": No such file or directory.
pg_dump: ошибка: Выполнялась команда: COPY public.email_logs (id, to_address, email_type, user_id, created_at, updated_at, post_id, bounce_key, bounced, message_id, smtp_group_id, cc_addresses, cc_user_ids, raw, topic_id) TO stdout;
EXCEPTION: pg_dump failed

Прочитав множество постов здесь и перепробовав множество решений, я в итоге попытался выполнить запрос к этой таблице и получил эту ошибку:

discourse=# select * from email_logs;
ERROR:  could not access status of transaction 4156776275
DETAIL:  Could not open file "pg_xact/0F7C": No such file or directory.
discourse=#

Эта проблема существует уже давно, поэтому восстановление из последней резервной копии не является реальным вариантом. Помимо этой «проблемы с резервным копированием» Discourse работает нормально.

Похоже, что email_logs — это просто таблица логов, и я не возражаю против потери возможных записей о письмах, если это позволит снова запустить резервное копирование. Могу ли я просто выполнить TRUNCATE таблицы email_logs, или отсутствующие данные вызовут новые ошибки?

Спасибо за помощь.

1 лайк