2016-08-14 3 views
2

Мы пытаемся обновить кластер 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 находится в потоковой репликации, управляемой кардиостимулятором. Шаги, которые мы использовали, следующие.

  1. проверить сервер реплики находится в хорошем состоянии, с современными данными, а затем поставить машину в режиме ожидания, останавливая 9.2 дБ
  2. Запуск сервера 9.2 вручную, чтобы получить некоторые статистические данные, чтобы проверить позже (отсчеты строки из нескольких таблиц ключей)
  3. Остановите сервер 9.2, установите двоичные файлы 9.5.
  4. INIT 9.5 дб
  5. запустить pg_upgrade с опцией связи
  6. запустить полный вакуум анализировать сценарий, 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

ответ

0

Мыслить через это (нет, я не сталкивался с той же проблемой), pg_upgrade работает, переписывая системные каталоги, но оставляя остальную часть данных на диске как есть. Если количество строк меняется, это довольно тревожно. Тем не менее от 9.2 до 9.5 это довольно большой шаг, поэтому есть области, где могут возникать дополнительные проблемы.

Не имея самой туманной идеи о том, что представляет собой настоящая проблема, первое, что я попробую, - попытаться запустить анализ вакуума перед обновлением, а не после. Мне интересно, есть ли проблема в видимости транзакций.

Второе, что я хотел бы попробовать, - это перейти к 9.4 вместо этого и посмотреть, не возникла ли проблема, а если нет, перейдите к пункту 9.5.

Однако я никогда не слышал о таких проблемах.

 Смежные вопросы

  • Нет связанных вопросов^_^