1 / 1 / 0
Регистрация: 12.09.2009
Сообщений: 80
|
|
1 | |
Восстановление базы из файлов02.05.2019, 20:33. Показов 9588. Ответов 6
Метки нет (Все метки)
Здравствуйте, нас атаковали хакеры и стёрли все дампы бэкапов, но у меня остался бэкап в виде копии файлов самой папки postgres с битым файлом pg_control, если я пытаюсь подменить всю папку то postgres ругается на pg_control, мол он пустой.
Помогите восстановить базу Установлена PostgreSQL 11
0
|
02.05.2019, 20:33 | |
Ответы с готовыми решениями:
6
Восстановление базы из дампа Восстановление базы из dump Восстановление базы данных из резервной копии Хочу отключить восстановление системных файлов (не восстановление системы) |
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
|
05.05.2019, 14:44 | 2 |
Он совсем пустой, или что-то осталось?? Вообще в global что-нибудь осталось??
0
|
1 / 1 / 0
Регистрация: 12.09.2009
Сообщений: 80
|
|
05.05.2019, 14:50 [ТС] | 3 |
Всё осталось кроме испорченого pg_control, но я смог его восстановить командой (забыл какой), но теперь проблема в том что возможно хакер удалил пользователей в СУБД, логин postgres не существует. Но... у меня есть файлы WAL, как я понял с помощью их можно восстановить БД, но я чёт не могу понять как. Есть документашка, но я не понял ничего)))
https://postgrespro.ru/docs/po... r-recovery
0
|
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
|
06.05.2019, 23:13 | 4 |
Вероятно это был pg_resetwal.... Надеюсь вы оставили копию данных и тренировались отдельно.
Просто так удалить этого пользователя нельзя. Вероятно что-то еще повреждено, либо этот пользователь переименован (поменян пароль). Чтобы не гадать, нужно приводить сюда сообщения из лога при старте базы. Вот вы сейчас сбросили состояние wal через pg_resetwal, у вас появился какой-то pg_control файл, пробуйте базу дальше запускать, смотрите, что пишет в лог. Чтобы пытаться воспользоваться этим механизмом, сначала нужно иметь валидный базовый бакап, на который накатывается журнал транзакций.
0
|
1 / 1 / 0
Регистрация: 12.09.2009
Сообщений: 80
|
|
06.05.2019, 23:21 [ТС] | 5 |
Копия конечно есть...
1) Логи приводить откуда? из journalctl ? 2) Что значит "валидный базовый бакап"? Существует только копия файловой системы postgres. Должен же быть способ восстановить базу, сама база в папке base есть! И WAL то же есть...Только я не знаю как восстановить всё это добро
0
|
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
|
06.05.2019, 23:40 | 6 |
Нет. Когда база стартует, если стартует, конечно, она ведет свои логи, в которые пишет ошибки: почему не смогла стартовать. Вот эти логи и нужны. Где они лежат, зависит от вашей системы и настроек. Чаще всего это поддиректория log в директории с данными (не путать с другими похожими названиями). Но все зависит от ваших настроек в postgresql.conf.
Это образ директории с данными заранее подготовленный с помощью pg_basebackup (или ряда альтернативных методов). В вашем случае при старте база будет сама переходить в режим восстановления (recovery mode) и пытаться накатывать транзакции из wal, которые еще можно накатить. Если там вообще осталось что накатывать после pg_resetwal. Имейте в виду, что WAL работает по вполне определенным правилам. Если у вас там лежит сколько-то десятков гигабайт WAL-ов - это не значит, что там лежит вся ваша история и вы сейчас восстановитесь. Чтобы так был, нужно об этом было заранее беспокоиться (о чем и написано в приведенной вами ссылке).
0
|
1 / 1 / 0
Регистрация: 12.09.2009
Сообщений: 80
|
|
06.05.2019, 23:43 [ТС] | 7 |
Спасибо, позже попробую
0
|
06.05.2019, 23:43 | |
06.05.2019, 23:43 | |
Помогаю со студенческими работами здесь
7
Восстановление Базы Восстановление базы Восстановление базы Восстановление базы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |