Здравствуйте!
Есть PostgreSQL 8.0.1 на Crux Linux 1.3 (kernel 2.4.26).
Это первый опыт с постгре, до этого был MS SQL 2K. Уперлись в такую проблему. После аварийного завершения (перезагрузки), любые действия с tbl_test возвращают:
ERROR: could not open relation 1663/17242/40429: No such file or directory
Как это вылечить?Остальные таблицы вроде работают нормально, но что есть ещё другая пробема.
Даже если удалить эту таблицу, то pg_dump (и виндовый из PgAdmin III, и линуксовый) вылетают (segmentation fault) при попытке сделать дамп любой другой таблицы из этой БД).Как проверить/исправить структуру БД?
Перестарт PgSQL, pg_resetxlog, vacuum, analyze, reindex пробовал. При наличии сбойной tbl_test выдают вышеуказанный ERROR, при её отсутсвии - всё равно не работает pg_dump.
БД пока тестовая, но решения "удалить и создать заново не подходит" не подходит, ибо такая ситуация может повториться на продакшене.
Подскажите, плиз, как искать и исправлять подобные сбои.
довольно странно это все, и здесь виноват уже не постгрес, а сама файлуха.. я так понимаю просто потерялся именно файл таблицы
Посмотрел OID-ы. 17424 - это моя БД, 40429 - глючная таблица. Как узнать, что такое 1663 - такого OID-а не нашёл.Очень волнует такой вопрос. Если эту таблицу удалить, всё как бы работает, но pg_dump вылетает. Есть средства узнать, всё ли в порядке в БД?
>Посмотрел OID-ы. 17424 - это моя БД, 40429 - глючная таблица. Как
>узнать, что такое 1663 - такого OID-а не нашёл.
>
>Очень волнует такой вопрос. Если эту таблицу удалить, всё как бы работает,
>но pg_dump вылетает. Есть средства узнать, всё ли в порядке в
>БД?http://www.postgresql.org/docs/8.0/interactive/sql-reindex.html
попробуй, может поможет
>http://www.postgresql.org/docs/8.0/interactive/sql-reindex.html
>попробуй, может поможетreindex, analyze, vacuum, pg_resetxlog я пробовал. Ситуация не меняется. Т.е., если глючную таблицу удалить, любые операции с остальными таблицами проходят нормально. Но, pg_dump-ом ни всю БД, ни любую отдельную таблицу сделать нельзя. Это и пугает - получается, что-то испорчено в структуре БД и я только косвенно догадываюсь об этом из-за segfault-a pg_dump-а.