несколько upadate + убитие процесса + защита мультитранзакций + останов кластера

Поиск
Список
Период
Сортировка
Доброго всем.

На слабеньком тестовом двухядерном компе 2Гб RAM  запустил приличную
базу данных.

На приличной таблице стал оптимизировать столбцы, запускал разные
update, что-то останавливал по Ctrl+C, запускал в разных сеансах psql.

Потом заметил, что не остановился ненужный update, причем прошло
больше суток по времени и видимо наросла большая транзакция. Посмотрел
его pid и сделал kill <pid>, потом еще зачем-то kill -9 <pid>. И вот.

logfile:
СООБЩЕНИЕ:  процесс сервера (PID 16263) был завершён по сигналу 9: Killed
ПОДРОБНОСТИ:  Завершившийся процесс выполнял действие: update ...
СООБЩЕНИЕ:  завершение всех остальных активных серверных процессов
ПРЕДУПРЕЖДЕНИЕ:  закрытие подключения из-за краха другого серверного процесса
ПОДРОБНОСТИ:  Управляющий процесс отдал команду этому серверному
процессу откатить текущую транзакцию и завершиться, так как другой
 серверный процесс завершился аварийно и возможно разрушил разделяемую память.
ПОДСКАЗКА:  Вы сможете переподключиться к базе данных и повторить вашу
команду сию минуту.
....
ВАЖНО:  система баз данных в режиме восстановления
СООБЩЕНИЕ:  все серверные процессы завершены... переинициализация
ВАЖНО:  система баз данных в режиме восстановления
СООБЩЕНИЕ:  работа системы БД была прервана; последний момент работы:
2016-07-28 17:42:05 YEKT
СООБЩЕНИЕ:  система БД была остановлена нештатно; производится
автоматическое восстановление
ВАЖНО:  система баз данных в режиме восстановления
СООБЩЕНИЕ:  запись REDO начинается со смещения 4/443CBA40
СООБЩЕНИЕ:  запись нулевой длины по смещению 4/443D4730
СООБЩЕНИЕ:  записи REDO обработаны до смещения 4/443D4700
СООБЩЕНИЕ:  последняя завершённая транзакция была выполнена в
2016-07-28 17:43:11.917649+06
ВАЖНО:  система баз данных в режиме восстановления
ВАЖНО:  система баз данных в режиме восстановления
ВАЖНО:  система баз данных в режиме восстановления
ВАЖНО:  система баз данных в режиме восстановления
СООБЩЕНИЕ:  Защита от наложения мультитранзакций сейчас включена
СООБЩЕНИЕ:  система БД готова принимать подключения
СООБЩЕНИЕ:  процесс запуска автоочистки создан

При этом в другом процессе тоже шел большой update той же таблицы. Там вышло:

ПРЕДУПРЕЖДЕНИЕ:  закрытие подключения из-за краха другого серверного процесса
ПОДРОБНОСТИ:  Управляющий процесс отдал команду этому серверному
процессу откатить текущую транзакцию и завершиться, так как другой
серверный процесс завершился аварийно и возможно разрушил разделяемую
память.
ПОДСКАЗКА:  Вы сможете переподключиться к базе данных и повторить вашу
команду сию минуту.
КОНТЕКСТ:  при изменении кортежа (73696,1) в отношении "tableXXX"
сервер неожиданно закрыл соединение
        Скорее всего сервер прекратил работу из-за сбоя
        до или в процессе выполнения запроса.
Подключение к серверу потеряно. Попытка восстановления неудачна.

Через несколько минут зашел psql - данных в таблицах нет, не
показываются, во всех таблицах 0 строк.

Стал останавливать сервер:
СООБЩЕНИЕ:  получен запрос на "вежливое" выключение
СООБЩЕНИЕ:  процесс запуска автоочистки завершается
ВАЖНО:  система баз данных останавливается
...

Все. Больше суток система висит или делаются откаты транзакций, не
понятно. Ощущение, что не дождусь позитивного останова сервера. Что
можно сделать, чтобы перезапустить кластер, пусть с потерями последних
транзакций?


-- 
---
С уважением,
Михаил

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Re: На правах рекламы
Следующее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Re: несколько upadate + убитие процесса + защита мультитранзакций + останов кластера