LINUX.ORG.RU
ФорумAdmin

Восстановление базы из файлов

 , ,


1

2

Здравствуйте, нас атаковали хакеры и стёрли все дампы бэкапов, но у меня остался бэкап в виде копии файлов самой папки postgres с битым файлом pg_control, если я пытаюсь подменить всю папку то postgres ругается на pg_control, мол он пустой. Помогите восстановить базу

Установлена PostgreSQL 11

Ответ на: комментарий от Deleted

Извините, но я не понимаю... команда «pg_xlogdump» не доступна из под Centos и из постгреса то же не доступна... Что я делаю не так?

papajon
() автор топика
Ответ на: комментарий от einhander

после выполнения команды: ./pg_resetwal -f /var/lib/pgsql/11/data и старта демона postgres в журнале это?

май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] LOG: database system was shut down at 2019-05-02 22:40:20 UTC май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] FATAL: could not access status of transaction 1 май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] DETAIL: Could not read from file «pg_multixact/offsets/0000» at offset 0: Success. май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.791 UTC [26433] LOG: startup process (PID 26435) exited with exit code 1 май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.791 UTC [26433] LOG: aborting startup due to startup process failure май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.793 UTC [26433] LOG: database system is shut down

papajon
() автор топика
Ответ на: комментарий от papajon

после выполнения команды: ./pg_resetwal -f /var/lib/pgsql/11/data и старта демона postgres в журнале это?

май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] LOG: database system was shut down at 2019-05-02 22:40:20 UTC
май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] FATAL: could not access status of transaction 1
май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.790 UTC [26435] DETAIL: Could not read from file «pg_multixact/offsets/0000» at offset 0: Success.
май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.791 UTC [26433] LOG: startup process (PID 26435) exited with exit code 1
май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.791 UTC [26433] LOG: aborting startup due to startup process failure
май 03 02:04:10 centos1 postmaster[26433]: 2019-05-02 23:04:10.793 UTC [26433] LOG: database system is shut down
papajon
() автор топика
Ответ на: комментарий от papajon

Я сделал initdb и вставил pg_multixact в мою текущую конфигурацию... Но теперь проблема я не могу зайти postgres юзером, как можно создать пользователя? «createdb» не помогает

papajon
() автор топика
Ответ на: комментарий от Deleted

Я знаю как делать dump postgres... Но как я его сделаю если у меня нет пользователя

papajon
() автор топика
Ответ на: комментарий от papajon

pg_multixact содержит видимость транзакций, если после подмены pg_multixact у вас пропал дефолтный пользователь postgres то скорее всего и данные вы не увидите.

Для создания пользователя нужно подключиться к базе под системным пользователем, а у вас его нет. Попробуйте запустить postgres не через systemd а руками, в single mode режиме: https://www.postgresql.org/docs/11/app-postgres.html

In the single-user mode, the session user will be set to the user with ID 1, and implicit superuser powers are granted to this user. This user does not actually have to exist, so the single-user mode can be used to manually recover from certain kinds of accidental damage to the system catalogs.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.