|
Восстановление базы из файлов
|
|||
---|---|---|---|
#18+
Коллеги, тема избитая, но всё же вдруг кто-то сможет помочь. Развалился массив, актуальных бэкапов нет. Восстановили папку data (не факт что полностью, но будем расчитывать). Внутри base несколько каталогов с покорёженными именами. файлы внутри вроде в норме. PG 9.0 Что сделано сейчас: Установлен чистый сервер, поднят с нуля ПГ9.0, создана пустая база, залит дамп годичной давности - работает. за год структура базы не менялась - шло только наполнение. Внимание вопрос - куда смотреть?, что куда подсовывать? в первую очередь интересует как узнать имена каталогов внутри base? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 16:58 |
|
Восстановление базы из файлов
|
|||
---|---|---|---|
#18+
Avrroot, https://habrahabr.ru/company/postgrespro/blog/319770/ https://habrahabr.ru/company/postgrespro/blog/323644/ (это вам тоже нужно, id таблиц другие относительно восстановленных из дампа) авторв первую очередь интересует как узнать имена каталогов внутри base? Помимо pgsql_tmp/ - это OID'ы системного каталога, читаемых названий не имеют штатно. Ну и попробуйте просто восстановленный data скопировать ещё раз и стартовать там postgres. Вдруг запустится. Если запустится - то дампить таблички по одной. Может сдампятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:09 |
|
Восстановление базы из файлов
|
|||
---|---|---|---|
#18+
Рабочий дамп отодвинул в сторону переименовав data подсунул восстановленную data, создал недостающие pg_tblspc, pg_control отключил проверку ssl чтоб на сертификат не ругался сейчас запуск останавливается ошибкой The PostgreSQL server failed to start. Please check the log output: 2017-07-18 19:53:12 +05 PANIC: could not read from control file: Success куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 17:54 |
|
Восстановление базы из файлов
|
|||
---|---|---|---|
#18+
Немного разгреб... ПГ запустился, но в логи валится следующее 2017-07-18 22:58:56 +05 FATAL: database "postgres" does not exist 2017-07-18 22:58:56 +05 DETAIL: The database subdirectory "base/11874" is missing. 2017-07-18 22:59:56 +05 FATAL: database "postgres" does not exist 2017-07-18 22:59:56 +05 DETAIL: The database subdirectory "base/11874" is missing. в каталоге base следующее postgres@bd:~/9.0/main$ ls -la base/ total 56 drwxr-xr-x 8 postgres postgres 4096 Jul 18 19:01 . drwx------ 11 postgres postgres 4096 Jul 18 22:47 .. drwxr-xr-x 2 postgres postgres 4096 Jul 18 19:01 $Folder000E211B drwxr-xr-x 2 postgres postgres 4096 Jul 18 19:01 $Folder000E2293 drwxr-xr-x 2 postgres postgres 12288 Jul 18 19:01 $Folder000E89CF drwxr-xr-x 2 postgres postgres 4096 Jul 18 19:01 $Folder000EA001 drwxr-xr-x 2 postgres postgres 12288 Jul 18 19:01 $Folder00118001 drwxr-xr-x 2 postgres postgres 12288 Jul 18 19:01 $Folder00120029 postgres@bd:~/9.0/main$ Вопрос - как опознать какой каталог переименовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 21:02 |
|
Восстановление базы из файлов
|
|||
---|---|---|---|
#18+
Avrroot Вопрос - как опознать какой каталог переименовать? Попробуйте оттолкнуться от размеров директорий. Известно что по дефолту в постгресе есть две базы template0 и template1 у них должны быть совершенно идентичные размеры, дальше как правило, должны база postgres она такого же размера как template базы, но если там что-то создавали размер будет побольше. Дальше идут базы которые содержат данные у них теоретически будут самые большие размеры относительно template и postgres баз. Но даже если это и сканает, не факт что поможет вцелом ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 10:23 |
|
|
start [/forum/topic.php?fid=53&fpage=69&tid=1996350]: |
0ms |
get settings: |
15ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 437ms |
0 / 0 |