Задать вопрос
@vlarkanov

Почему не запускается postgres 9.6?

Всем привет! Есть сервер postgres. Настраиваю его slave. Мастер сервер настроен согласно https://romantelychko.com/blog/1583/

После того как слил на слейв потокововый бекап и выставил права на папку, пытаюсь запустить. Вот что пишет:


2018-06-15 10:26:08.026 MSK [725] СООБЩЕНИЕ: запись REDO начинается со смещения 4A4/EA48450
2018-06-15 10:26:08.041 MSK [728] [н/д]@[н/д] СООБЩЕНИЕ: неполный стартовый пакет
2018-06-15 10:26:08.068 MSK [725] СООБЩЕНИЕ: согласованное состояние восстановления достигнуто по смещению 4A4/ED9EAB8
2018-06-15 10:26:08.069 MSK [725] СООБЩЕНИЕ: неверное магическое число 0000 в сегменте журнала 00000002000004A40000000E, смещение 14417920
2018-06-15 10:26:08.123 MSK [729] СООБЩЕНИЕ: начало передачи журнала с главного сервера, с позиции 4A4/E000000 на линии времени 2
2018-06-15 10:26:08.550 MSK [732] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:09.060 MSK [735] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:09.572 MSK [738] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:10.086 MSK [741] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:10.598 MSK [744] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:11.108 MSK [747] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:11.622 MSK [750] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:12.135 MSK [753] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:12.647 MSK [756] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:13.161 MSK [761] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:13.674 MSK [764] postgres@postgres ВАЖНО: система баз данных запускается
2018-06-15 10:26:13.678 MSK [724] СООБЩЕНИЕ: получен запрос на "вежливое" выключение
2018-06-15 10:26:13.678 MSK [729] ВАЖНО: завершение процесса считывания журнала по команде администратора
2018-06-15 10:26:13.682 MSK [726] СООБЩЕНИЕ: выключение
2018-06-15 10:26:16.706 MSK [724] СООБЩЕНИЕ: система БД выключена


Как понять что не нравится Postgres?
  • Вопрос задан
  • 6862 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@ka7a8
Бывает что после отключение питания на Linux серверах с 1С вообще ничего не запускается. База postgres поломана и кэш 1С тоже. Вот шаги как заново всё привести в рабочее состояние.

1. Запускаем postgres в сингл моде от пользователя postgres чтобы его не убил systemd по таймауту
root@1cserver:~# su postgres
postgres@1cserver:~$ /usr/lib/postgresql/9.6/bin/postgres --single -c config_file=/etc/postgresql/9.6/main/postgresql.conf -D /var/lib/postgresql/9.6/main -P -d 1
2018-09-07 09:23:27.289 MSK [3421] DEBUG:  запись о контрольной точке по смещению 23/36889418
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  redo record is at 23/3674B6A8; shutdown FALSE
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  next transaction ID: 0:18537840; next OID: 13492030
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  next MultiXactId: 1; next MultiXactOffset: 0
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  oldest unfrozen transaction ID: 545, in database 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  oldest MultiXactId: 1, in database 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  commit timestamp Xid oldest/newest: 0/0
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  предел наложения ID транзакций равен 2147484192, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG:  starting up replication slots
2018-09-07 09:23:27.294 MSK [3421] LOG:  система БД была остановлена нештатно; производится автоматическое восстановление
2018-09-07 09:23:27.298 MSK [3421] DEBUG:  resetting unlogged relations: cleanup 1 init 0
2018-09-07 09:23:27.507 MSK [3421] LOG:  запись REDO начинается со смещения 23/3674B6A8
2018-09-07 09:23:27.515 MSK [3421] LOG:  invalid record length at 23/368B5C50: wanted 24, got 0
2018-09-07 09:23:27.515 MSK [3421] LOG:  записи REDO обработаны до смещения 23/368B5C28
2018-09-07 09:23:27.515 MSK [3421] LOG:  последняя завершённая транзакция была выполнена в 2018-09-06 20:47:59.49413+03
2018-09-07 09:23:27.515 MSK [3421] DEBUG:  resetting unlogged relations: cleanup 0 init 1
2018-09-07 09:23:27.941 MSK [3421] DEBUG:  performing replication slot checkpoint
2018-09-07 09:23:27.985 MSK [3421] DEBUG:  предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.985 MSK [3421] DEBUG:  Граница членов мультитранзакции сейчас: 4294914944 (при старейшей мультитранзакции 1)

PostgreSQL stand-alone backend 9.6.8
backend>

После можно остановить postgres с нормальным кодом завершения и запустить в нормальном режиме
root@1cserver:/home/usr1cv8# kill -15 #ваш_пид_процесса
root@1cserver:/home/usr1cv8# /etc/init.d/postgresql start
[ ok ] Starting postgresql (via systemctl): postgresql.service.


2. Останавливаем непригодный 1С и чистим его кэш и конфигурациооные файлы и запускаем заново
root@1cserver:~# /etc/init.d/srv1cv83 stop
root@1cserver:~# rm -rf /home/usr1cv8/.1cv8
root@1cserver:~# /etc/init.d/srv1cv83 start


3. Запускаем RAS и добавляем базы которые были у нас на сервере 1С
root@1cserver:~# /opt/1C/v8.3/x86_64/ras --daemon cluster
root@1cserver:~# /opt/1C/v8.3/x86_64/rac cluster list
cluster                       : 583eba18-b263-11e8-ed9e-309c239dab48
host                          : 1cserver
port                          : 1541
name                          : "Локальный кластер"
expiration-timeout            : 0
lifetime-limit                : 0
max-memory-size               : 0
max-memory-time-limit         : 0
security-level                : 0
session-fault-tolerance-level : 0
load-balancing-mode           : performance
errors-count-threshold        : 0
kill-problem-processes        : 0
root@1cserver:~# /opt/1C/v8.3/x86_64/rac infobase create --cluster=583eba18-b263-11e8-ed9e-309c239dab48 --name=our_1c_db --dbms=PostgreSQL --db-server=1cserver --db-name=our_1c_db --locale=ru --db-user=postgres --db-pwd=our_postgres_db_password

и так далее для каждой базы 1С что были на сервере


Радуемся жизни :)
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Всё ему нравится,
согласованное состояние восстановления достигнуто

начало передачи журнала с главного сервера, с позиции 4A4/E000000 на линии времени 2

База запустилась, репликация запустилась, всё работает.

А вот вам, наверное, не нравится то что база не принимает read only коннекты? Проверьте настройку hot_standby в postgresql.conf, дефолтно выключено.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы