PostgreSQL не создается дамп БД, не выполняется vacuum и и reindex

1. wladimirpav 17.03.21 10:32 Сейчас в теме
База данных 1С клиент-сервер на PostgreSQL, посыпался жесткий диск, выдало ошибку "invalid page header in block 0 of relation base/16402/18089146". Сделал vacuum full и reindex нужной таблицы с параметром zero_damaged_pages=on. Да, я знаю, что теряется часть данных. Работали 2 дня, купили новый HDD, БД перенесли просто копированием каталога, так как из дампа не восстанавливалась "unexpected end of file". Теперь vacuum full также не проходит:
2021-03-17 21:50:39 MSK WARNING: concurrent delete in progress within table "_accumrgt22959"
таких строк ~ 70000, затем сделал vacuum с параметром zero_damaged_ pages=on, теперь ошибка такая:
2021-03-17 21:52:50 MSK STATEMENT: vacuum full public._accumrgt22959;
2021-03-17 21:54:15 MSK ERROR: index row requires 693356864 bytes, maximum size is 8191
2021-03-17 21:54:15 MSK STATEMENT: reindex table public._accumrgt22959;
2021-03-17 22:14:02 MSK ERROR: row is too big: size 394289016, maximum size 8160
1С работает, но дамп базы не работает, обмен с вышестоящей базой проходит. Если я сделаю дамп двух битых таблиц в вышестоящей базе и загружу в битую, сработает, как думаете?
По теме из базы знаний
Найденные решения
2. starik-2005 3039 17.03.21 12:15 Сейчас в теме
(1)
accumrgt
В принципе эта таблица - это записи остатков. Думаю, что ее вообще можно трункануть и запустить пересчет итогов. Но это моя ИМХА, так что на 100% не верь )))
Fox-trot; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3039 17.03.21 12:15 Сейчас в теме
(1)
accumrgt
В принципе эта таблица - это записи остатков. Думаю, что ее вообще можно трункануть и запустить пересчет итогов. Но это моя ИМХА, так что на 100% не верь )))
Fox-trot; +1 Ответить
3. wladimirpav 17.03.21 13:24 Сейчас в теме
(2) Ну на копии можно попробовать
4. XAKEP 17.03.21 14:51 Сейчас в теме
а зачем вам сейчас дамп ?
вам же нужно проверить какая сейчас база ...
файл в дт выгрузите и из него загрузите в новую базу

а если получилось , то на нем и работайте
5. wladimirpav 17.03.21 15:51 Сейчас в теме
6. XAKEP 17.03.21 15:57 Сейчас в теме
(5)
тогда у вас проблема с базой
7. wladimirpav 17.03.21 16:06 Сейчас в теме
(6) Я знаю, я и написал в какой именно таблице проблема
8. XAKEP 17.03.21 16:23 Сейчас в теме
(7)
у вас старый рабочий архив базы есть ?
9. wladimirpav 17.03.21 16:29 Сейчас в теме
(8) Есть, но уже достаточно старый
10. XAKEP 17.03.21 16:29 Сейчас в теме
(9)
пять лет ?
или десять :)
11. wladimirpav 17.03.21 16:38 Сейчас в теме
(10) Месяц - полтора :), я могу выделить базу из главной, но это будет долго.
12. XAKEP 17.03.21 16:40 Сейчас в теме
(11)
так делайте замен некоторых таблиц из рабочей базы в битую
пока не получится в дт выгрузить ( восстанавливаемую )
13. a.doroshkevich 1414 24.03.21 19:37 Сейчас в теме
Скопируйте sql команду создания индексов битой таблицы
Дропните индексы
Создайте заново

Как и написали выше сбойнула таблица итогов, это очень крупно повезло!
Попробуйте ей truncate
Затем в конфигураторе пересчитать итоги
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот