powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Непрерывное архивирование и восстановление на момент времени
13 сообщений из 13, страница 1 из 1
Непрерывное архивирование и восстановление на момент времени
    #40043605
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Postgresql 9.6
Настраиваю непрерывный архив.
При восстановлении на какой то момент времени(подсунув соответственно базовый бекап, архив, команду восстановления) система запускается не с 1 раза.
По логам видно что копирует файлы журнала предзаписи из архива и вылетает с "вежливым выключением".
При повторном запуске начинает копировать файлы журнала с того места где вылетело в прошлый раз.
И так запускаем службу несколько раз(до 6 раз доходило). В итоге достигается согласованное состояние на какой-то момент. Запускаем службу еще раз и только тогда система БД стартует. Никаких действий между запусками службы не проводилось. Только запуск.

Подскажите пожалуйста это нормальное поведение? Или должно все восстанавливаться при первом запуске? Хотелось бы, конечно, при первом запуске. Если это возможно подскажите, плз, куда копать, чтобы пофиксить.

Повысить версию БД нет никакой возможности. ОС Astra Linux 1.6 SE

Заранее благодарен.
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043613
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищите того, кто отправляет сигнал выключения. Возможно где-то выставили таймаут ожидания запуска. Например, в systemd дефолтый выставлен.
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043626
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В логах не найти кто послал сигнал?
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043645
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поискал в сторону systemd. Не оно.
Дефолтный таймаут 90 сек. Увеличил до 900 сек.
Система "вежливо выключается" через 6-7 сек.
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043649
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажите что в recovery.conf.
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043673
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там только команда разархивирования и время на которое нужно восстановить
остальное то что в sample. Закомментировано все.
т.е. у меня
restore_command = 'cp /var/lib/postgresql/archive/%f %p'
и
recovery_target_time = '2021-02-09 10:00 MSK'
больше ничего нет(закомментировано)
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043695
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проставьте

Код: sql
1.
recovery_target_action = promote
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043706
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не помогло.
в syslog появляется запись
Код: html
1.
2.
3.
4.
5.
6.
не удалось привязаться к сокету IPv6: Невозможно назначить запрошенный адрес
Возможно порт 5432 занят другим процессом postmaster? Если нет, повторите попытку через несколько секунд.
postgresql@9.6-main.service: Control process exited, code=exited status=1
Failed to start PostgreSQL Cluster 9.6-main.
postgresql@9.6-main.service: Unit entered failed state.
postgresql@9.6-main.service: Failed with result 'exit-code'.



Но опять же странно
Через несколько запусков нет этой ошибки в логах и сервер спокойно стартует
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043717
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убрал ipv6 ошибка пропала
Но все равно

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
systemd[1]: Starting PostgreSQL Cluster 9.6-main...
postgresql@9.6-main[2561]: The PostgreSQL server failed to start. Please check the log output:
postgresql@9.6-main[2561]: 2021-02-09 15:13:09.667 MSK [2566] СООБЩЕНИЕ:  передача вывода в протокол процессу сбора протоколов
postgresql@9.6-main[2561]: 2021-02-09 15:13:09.667 MSK [2566] ПОДСКАЗКА:  В дальнейшем протоколы будут выводиться в каталог "pg_log".
systemd[1]: postgresql@9.6-main.service: Control process exited, code=exited status=1
systemd[1]: Failed to start PostgreSQL Cluster 9.6-main.
systemd[1]: postgresql@9.6-main.service: Unit entered failed state.
systemd[1]: postgresql@9.6-main.service: Failed with result 'exit-code'.



Где ошибку то искать?
Больше в логах нет ничего
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043724
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы случаем не на том же сервере где мастер стартуете?
Логи смотрите в ../pg_log/
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043729
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет. Новая виртуалка. Путь нового архива в auto.conf изменен.
Но конфиги серверов идентичные. Оба виртуальные. Но по идее какая разница даже если на старом. Я же удаляю все из папки кластера. Потом закидываю туда base backup
Сервис естественно останавливаю перед восстановлением через service postgresql stop.

в pg_log нет ничего. Восстанавливает журнал, а потом получен запрос на вежливое выключение.
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40043755
vital8111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел решение на форуме Astra Linux.
Не знаю уж это именно в Astra он себя так ведет или всегда так...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Нужно изменить файл /etc/postgresql/9.6/main/pg_ctl.conf, добавив следующие значения:

pg_ctl_options = '-w -t 1800'

где 1800 - это количество секунд, через которое команда запуска кластера Постгрес вернет systemd информацию о текущем состоянии кластера Постгрес (если конечно запуск не завершится до этого момента).

То есть работает это так:
1. systemd пинает команду
ExecStart=@/usr/bin/pg_ctlcluster postgresql@%i --skip-systemctl-redirect %i start
2. Та по умолчанию через очень короткое время (4-6 секунд) возвращает systemd фразу "знаешь, сейчас кластер сообщает что он восстанавливается".
3. systemd почему-то реагирует на это "ах так, ну тогда SIGTERM тебе".
4. Посгтрес сообщает о вежливом выключении и отменяет процесс восстановления
...
Рейтинг: 0 / 0
Непрерывное архивирование и восстановление на момент времени
    #40044544
big-trot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже эта проблема не связан с ОС Astra Linux SE.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Непрерывное архивирование и восстановление на момент времени
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]