Я получаю эту странную ошибку(PostgreSQL) ОШИБКА: не удалось открыть отношения
Caused by: org.postgresql.util.PSQLException: ERROR: could not open
relation base/17369/1684: No such file or directory
Как оправиться от него? Любые идеи?
Thanks
Я получаю эту странную ошибку(PostgreSQL) ОШИБКА: не удалось открыть отношения
Caused by: org.postgresql.util.PSQLException: ERROR: could not open
relation base/17369/1684: No such file or directory
Как оправиться от него? Любые идеи?
Thanks
Вы потеряли файл, связанный с таблицей 1684 и базой данных 17369. Проверьте файл наличия с именем 1684 в базе каталогов/17369.
Вы можете определить, какая таблица является:
1) получить имя базы данных: select * from pg_database where oid=17369
2) получить имя таблицы (подключение к соответствующей базе данных): select * from pg_class where oid=1684
Вероятно, не намного больше ты можешь сделать. Только восстановление из резервной копии.
Для этого может быть несколько причин. Лучше всего, если это разумно, это восстановить резервную копию после запуска вашего оборудования с помощью диагностики.
Если восстановление из резервной копии нежелательно, вам необходимо остановить Postmaster, сделать копию своей базы данных и получить профессиональную помощь как можно скорее. Данные могут быть или не могут быть восстановлены, и вам нужно знать, что это происходит. Кроме того, я бы предложил, помимо ссылки, к которой указывает Крейг, в таком случае (где файлы могут быть удалены), работа над восстановлением из копии, предпочтительно блочную копию всей файловой системы, в другой системе.
FWIW Я наблюдал, как PostgreSQL работал на сильно злоупотребляемом оборудовании и видел множество проблем с повреждением индекса, когда аппаратное обеспечение было выведено за пределы (сервер базы данных выше уровня двери в горячем неровном шкафу, например), но это не похоже один (повреждение индекса относительно легко исправить, но обычно сообщения об ошибках немного разные).
Теперь, кроме того, он может можно восстановить данные с текущей базы данных и резервного копирования. Очевидно, мы этого не узнаем, пока не попытаемся это сделать.
Результирующий запрос. Это может быть незначительным, но предположим, что это не так. Прочитайте и следуйте этим инструкциям * срочно *: http://wiki.postgresql.org/wiki/Corruption. Затем отредактируйте свой вопрос, чтобы включить базовую информацию, такую как версия Pg, команда, вызывающая ошибку, содержимое файлов журнала PostgreSQL, операционная система, файловая система, недавние инциденты с потерей мощности, сбои, проблемы с дисками и т. Д. Также покажите вывод 'pg_test_fsync' и значение параметра 'fsync' в' postgresql.conf'. –
Очень вероятно сбой диска или случайное удаление файла. –
Сделайте то, что сказал Крейг Рингер. –