Повреждение данных PostgreSQL на жестком диске. Что делать и как исправить?
Любая СУБД хранит свои данные на жестком диске, следовательно, может произойти ситуация, когда данные на диске повредились. Это может быть сбой контроллера, логическое или физическое повреждение данных, есть и масса других причин. Хорошо, когда в таких ситуациях повреждается файл индекса, команда пересоздания индекса позволяет восстановить консистентность в СУБД. Гораздо хуже дело обстоит, когда поврежден файл таблицы или системного раздела, восстановить поврежденные данные тогда невозможно. Приходиться прибегать к разным ухищрениям. Это может быть восстановление из бекапа, копирование данных из поврежденной таблицы или другие способы. В докладе рассмотрим несколько случаев повреждения данных на диске и опишем варианты восстановления данных из поврежденных таблиц.
Слайды
Чувашов1.pptxВидео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Bruce Momjian EDB Vice President, Postgres Evangelist
-
Вадим Яценко Tantor Lab Генеральный директор
Autovacuum. Вредные советы
В архитектуре PostgreSQL есть ряд особенностей, которые стоит учитывать не только при эксплуатации БД, но и в процессе проектирования схемы данных. Опытным пользователям PostgreSQL хорошо известен такой механизм как очистка/заморозка(vacuum). На просторах интернета есть большое количество материалов на тему внутреннего устройства, настройки и мониторинга. Множество полезных докладов было сделано на конференциях. Тем не менее, все еще происходят случаи переполнения счетчика транзакций(xid), казалось бы, в достаточно небольших БД. В этом докладе я расскажу об одном интересном, на мой взгляд, случае у нашего клиента. Поделюсь тем, как череда ошибок на разных этапах жизненного цикла БД, однажды привела к ее полной остановке более чем на неделю, wraparound-у, битым блокам, проблемам с обслуживанием и бессонным ночам в поисках решения. Локальная победа была достигнута - БД удалось восстановить, но история еще не закончена. Тем она и интересна.
-
Виктор Бушмин Росгосстрах Директор направления
Эволюция системы от MVP до HighLoad (опыт с ОСАГО)
В июне 2020 года АльфаСтрахование, как и другие страховые компании, была обязана использовать АИС РСА 2.0 для обеспечения работы ОСАГО в соответствии с законодательством. Компания занимает ведущие позиции на рынке ОСАГО, поэтому системы АИС ОСАГО, которые хранят информацию по обращениям от бизнес-систем до РСА и обратно, начали испытывать неожиданную нагрузку, БД стала деградировать, потреблять огромные для ее размера ресурсы. Деградация внезапно наступала и внезапно заканчивалась, причины были неясны. Творческий коллектив инженеров и экспертиза Postgres Pro решили проблему. Виновником оказался MyBatis (ORM) в Java-сервисах. История о том, что надо внимательно изучать документацию и проектировать высоконагруженные системы.
-
Алексей Борщев Postgres Professional Инженер
NULLs в Postgres
Доклад посвящён реализации специального значения NULL в бд PostgreSQL: * Что такое NULL? * Как он обрабатывается различными функциями? * Как хранится в БД? * Индексирование NULL