Вход | Регистрация

Информационные технологии ::

Метки: 

PostgeSQL не стартует: pg_resetxlog: could not create pg_control file: File exists

Я
   zalexey
 
28.10.17 - 15:57
У клиента не стартует PostgeSQL. Как объяснет админ: отвалился шлейф системного диска, сервак отрубился. После перезапуска служба не стартует.

Пару раз такое было, когда они сервак перезагружали во время работы. Тогда помогали команды:
pg_controldata "E:\PG_SQL_DATA"
pg_resetxlog.exe -o 17008016 -x 19349186 -f "E:\PG_SQL_DATA"

сейчас после второй команды лог не очищается, а валится ошибка:
pg_resetxlog: could not create pg_control file: File exists

Что сделать можно? Пробовал удалять pg_control - только хуже становится.
 
  Рекламное место пустует
   rphosts
 
1 - 28.10.17 - 16:10
Как вообще на сервере могло произойти событие "отвалился шлейф системного диска"? У сервера корпус вообще в сборе или админа рожа просит кирпича?

Диск на ошибки проверяли? прав у учетки от которой запускается постгри хватает?
База поди на системном диске?

Бэкапов я так понимаю нет?
   zalexey
 
2 - 28.10.17 - 16:28
"Сервер" под столом...

Права проверял, пробовал принудительно на всяк.случай обновить.

База на отдельном диске, не системном.

Бекапы естественно древние (месяц).
   zalexey
 
3 - 28.10.17 - 16:30
Если pg_control  удалить, то при запуске pg_resetxlog.exe ругается, что не найден pg_control... а если они есть то ругается, что файл уже существует. что за бред? :)
   rphosts
 
4 - 28.10.17 - 16:44
а если подсунуть этот файл пустой?
   rphosts
 
5 - 28.10.17 - 16:45
ошибки на диске проверили (разумеется после выполнения полной копии каталога постгр хотя-бы)?
   rphosts
 
6 - 28.10.17 - 16:51
да,надеюсь копии все каталогов до начала экспериментов сделали?
   rphosts
 
7 - 28.10.17 - 16:51
   zalexey
 
8 - 28.10.17 - 17:01
(5) ошибок нет.
Копии каталогов да сделали до начала манипуляций.
(7) спотыкаемая на запуске: postgres --single
запускаем от юзера постгри (не админа) появляется и сразу пропадает черное окно, вроде без сообщений.
   rphosts
 
9 - 28.10.17 - 17:02
(8) ну запусти от админа
   rphosts
 
10 - 28.10.17 - 17:05
>появляется и сразу пропадает черное окно, вроде без сообщений.

есть эвент вьювер и есть логи постгри
 
 
   zalexey
 
11 - 28.10.17 - 17:06
(9) от админа он как раз не должен запускаться
Execution of PostgreSQL by a user with administrative permissions is not
permitted.
The server must be started under an unprivileged user ID to prevent
possible system security compromises. See the documentation for
more information on how to properly start the server.
   zalexey
 
12 - 28.10.17 - 18:37
В итоге в --single mode заходит, reindex там выполняется. А как потом сделать dump? Нужно выйти из --single?

Тогда дамп не выполняется - просит запустить сервер, а он не запускается же...
Можно ли выгрузить dump из --single mode?
   rphosts
 
13 - 29.10.17 - 02:57
(12) а самому попробовать?
   zalexey
 
14 - 29.10.17 - 09:37
(13) пробовал стандартную команду вводить в single mode, ругается, что не знает такой. Нигде не нашел в каком формате там вводить команду для дампа.
   rphosts
 
15 - 29.10.17 - 10:32
Спроси у специалистов по постгри, например тут
http://postgresql.ru.net/forum
   zalexey
 
16 - 29.10.17 - 12:51
Удалось таки зайти в 1С. Методом тыка дали полный доступ ВСЕМ пользователям на папку с данными в итоге лог успешно сбросился и эта ошибка: pg_resetxlog: could not create pg_control file: File exists  ушла!

Хотя выполняли из под админа, и у пользователя постгр права на папку были и админа - почему ему прав на перезапись этого файла видимо не хватала.
   rphosts
 
17 - 29.10.17 - 13:35
(16) про права написано было в (1)... но теперь уж точно пора настроить бэкап и сделать больно админу
   craxx
 
18 - 29.10.17 - 13:43
(17) Судя по "отвалился шлейф" - админом ЭТО можно назвать с огромной натяжкой.
   ansh15
 
19 - 29.10.17 - 15:22
(16) После дампа базы initdb делали?
В документации настоятельно рекомендуют https://postgrespro.ru/docs/postgresql/9.6/app-pgresetxlog.html
"После выполнения этой команды запуск сервера, скорее всего, будет возможен, однако стоит учитывать, что база данных может содержать несогласованные данные из-за транзакций, зафиксированных частично. Вы должны немедленно выгрузить данные, выполнить initdb, а затем восстановить данные. После этого проверьте целостность базы и внесите необходимые исправления."


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует