Мы пытаемся обновить кластер 9.2 postgres до 9.5. На сервере работает Centos 7 с версией Centos - в настоящее время 9.2.15. Мы устанавливаем postgresql, предоставляемый rpm postgresql9.5 из postgresql repo, в настоящее время 9.5.4. В тестировании и на нашем кластере разработки обновление работало без проблем, но что-то происходит в нашей производственной БД, которую мы не можем понять.Postgres 9.2 до 9.5 Обновление теряется Данные
Кластер 9.2 находится в потоковой репликации, управляемой кардиостимулятором. Шаги, которые мы использовали, следующие.
- проверить сервер реплики находится в хорошем состоянии, с современными данными, а затем поставить машину в режиме ожидания, останавливая 9.2 дБ
- Запуск сервера 9.2 вручную, чтобы получить некоторые статистические данные, чтобы проверить позже (отсчеты строки из нескольких таблиц ключей)
- Остановите сервер 9.2, установите двоичные файлы 9.5.
- INIT 9.5 дб
- запустить pg_upgrade с опцией связи
- запустить полный вакуум анализировать сценарий, pg_upgrade сгенерированного
Что мы находим в тестировании, что мы получаем через процесс обновления, запуск сервер 9.5 вручную, чтобы сравнить количество строк, которое мы собрали непосредственно перед обновлением, и мы видим разные данные, а иногда и резко. Эти данные включают в себя отсутствующие учетные записи пользователей и т. Д., Которые не являются скоропортящимися данными.
Мы включили подробное ведение журнала и просмотрели его, но не видим ошибок в миграции. Сервер 9.5 запускается без жалобы, и если мы не проводим эти ручные проверки, мы не увидим проблемы.
Кто-нибудь еще видел эту проблему?
Единственный «взлом» во время обновления, который не является прямым с man-страницы postgres_upgrade, заключается в том, чтобы обрабатывать переименованный параметр в postgresql, который был передан в centos. Использование переименования pg_ctl, на которое ссылается в верхнем ответе здесь, - https://dba.stackexchange.com/questions/50135/pg-upgrade-unrecognized-configuration-parameter-unix-socket-directory