Публичное пространство

Обновление сервера с версии PostgreSQL 8.4 до 9.4 для серверов ОС Windows

Инструкция не предназначена для обновления PostgreSQL 9.4 на более новые версии (9.5, 9.6...11)!

Используйте инструкцию только для обновления с версии 8.4 до 9.4!


Описание процесса

Данный процесс предусматривает перевод сервера PostgreSQL с версии 8.4 до версии 9.4. Обращаем ваше внимание на то, что, обновление сервера PostgreSQL должно осуществляться опытными ИТ-специалистами.

Этапы

Дистрибутив

Дистрибутив PostgreSQL 9.4 для Windowsзагрузить

Подготовка к обновлению

1. Перевод на новую версию PostgreSQL 9.4 осуществляется только для 64-х битных операционных систем.

2. Внимание! Перед началом процедур по переводу на новую версию PostgreSQL, обязательно обновите вашу операционную систему.

3. Обязательно проверьте наличие свободного дискового пространства, оно должно быть достаточным, в зависимости от размеров вашей БД, так как в следующих шагах восстановление базы данных будет в новую версию сервера СУБД PostgreSQL 9.4, и при этом, версия PostgreSQL 8.4 будет установлена на момент развертывания архивов БД.

На данном изображении достаточно места для проведения операции обновления.

4. На время обновления PostgreSQL 8.4 на версию 9.4 не планируйте никаких работ на продуктивной среде так и с сервером магазина.

5. Следуйте только шагам описанным в данной инструкции!

Обновление PostgreSQL для ОС Windows

1. Остановите службы SetRetail10:

Отключите службы SetRetail10.

2. Загрузите и установите средство бэкапирования баз данных SetRetail10 для перевода БД, а затем сделайте резервные копии БД.

Распакуйте архив ArcSet10 по тому пути, где будут располагаться дампы копий БД. Желательно, чтобы это был отдельный логический диск.

Для того, чтобы настроить бэкапирование БД SetRetail10 необходимо в скрипте бэкапирования прописать адрес и пароль к серверу PostgreSQL.

set pgaddr - указывается IP-адрес сервера PostgreSQL, если средство бэкапирования установлено локально на сервере БД, тогда оставьте localhost , если необходимо сделать дамп БД с удаленного сервера, тогда укажите его IP-адрес.

set PGPASSWORD - указывается пароль к СУБД PostgreSQL.

Запустите бэкапирование баз данных сервера

Запустите Setv10backup_server.bat

Обратите внимание, что в папку yesterday при первом запуске будет скопировано 0-файлов так как у вас не было текущих копий.

Проверьте, что архивы БД успешно прошли бэкап в папку current .

ВАЖНО! Процесс бэкапирования баз данных может занять продолжительное время от 10мин. до 2,5 часов в зависимости от размера данных.

Просмотреть корректность выполнения и статус процесса бэкапирования каждой БД SetRetail10 можно в папке LOG

В файлах:

set_backup.log, set_loyal_backup.log и set_operday_backup.log - отображается работа интерпретатора pg_dump по сохранению таблиц в файл дампа.

В файле status.log отображается статус успешного или неуспешного создания файла дампа БД.

3. Скопируйте файлы конфигурации сервера PostgreSQL pg_hba.conf и postgresql.conf в любую папку:

4. Остановите PostgreSQL 8.4.

Выключите службу PostgreSQL 8.4

4.1. Переименуйте папку с PostgreSQL 8.4 в любое другое имя отличное от его постоянного.

5. Запустите инсталлятор PostgreSQL 9.4.

Начните установку через контекстное меню "Запуск от имени администратора".

Нажмите кнопку " Next > "

Выберите папку для установки, она должна остаться от предыдущей версии PostgreSQL 8.4

1. Нажмите на кнопку выбора папки.

2. Выберите папку PostgreSQL, на том диске, где она присутствует.

3. Нажмите кнопку ОК и убедитесь, что необходимый путь отобразился в окне установщика.

4. Нажмите кнопку " Next > ".

Нажмите кнопку " Next > ".

Введите пароль от существующего пользователя postgres и нажмите кнопку " Next > ".

Если, после нажатия на кнопку "Next" программа установщика, всё равно сообщает вам, о том, что пароль неправильный, тогда удалите пользователя postgres и нажмите снова "Next", после ввода пароля.

Проверьте, что указан порт 5432, если нет, то укажите (порт должен быть только 5432), нажмите кнопку " Next > ".

Нажмите кнопку " Next ".

Нажмите кнопку " Next > " для начала установки.

Обязательно наблюдайте за процессом установки.

Снимите флаг " Launch Stack Builder at exit? " и нажмите кнопку " Finish ".

6. Восстановите настройки сервера PostgreSQL 8.4 на новый сервер PostgreSQL 9.4.

Перезапустите службу postgresql-x64-9.4

7. Восстановите данные БД.

Запустите PgAdmin III

Обязательно проверьте версию PgAdmin.

Версия должна быть 1.20

Кликните правой кнопкой мыши по серверу PostgreSQL 9.4 (localhost:5433) и выберите пункт " Свойства ".

Измените порт на 5432 и нажмите кнопку " ОК ".

Подключитесь к серверу PostgreSQL 9.4, используя пароль для доступа к БД.

Следующим шагом: создайте 3 базы данных:

- set

- set_loyal

- set_operday

Откройте дерево сервера и кликните правой кнопкой мыши по уровню " Базы данных (1) " и выберите пункт " Новая база данных ".

На вкладке "Свойства" в поле [Имя] введите наименование базы данных, затем перейдя на вкладку "Определение" в поле [Кодировка] убедитесь, что на UTF8, нажмите кнопку "ОK".

Созданная база данных появится в списке.

Используя данную методику создайте остальные базы данных: set_loyal и set_operday

Кликните правой кнопкой мыши по одной из созданных БД и выберите в контекстном меню пункт "Восстановить".

Выберите базу данных для восстановления, которая была сохранена перед установкой:

Дождитесь окончания процесса восстановления. Он должен быть таким. Нажмите кнопку "Отменить" после окончания процесса.

По окну выше, можно увидеть предупреждение при восстановлении. В данном случае оно не критично и означает лишь, то что, процедура языка plpgsql уже есть в PostgreSQL 9.4.

Повторите аналогичные действия для баз данных: set_loyal и set_operday

8. Удалите временные файлы сервера магазина

Очистите всю папку \SetRetail10\standalone\data

Очистите папку \SetRetail10\standalone\tmp\auth

Очистите папку \SetRetail10\standalone\tmp\vfs

Очистите папку \SetRetail10\standalone\tmp\work

9. Включите и запустите службы SetRetail10.

Установите Тип запуска : автоматически

10. Проверьте, что сервер работает корректно.

Наличие файла Set10.ear.deployed свидетельствует о корректном запуске сервера

Также проверьте, что log-файл сервера выглядит корректно.

Проверьте, что визуализация сервера открывается и вы можете воспользоваться стандартным функционалом.

Обязательно проверьте, что у Вас работает весь функционал бизнес-процессов вашего магазина такой как:

- Транспорт данных в ERP.

- Транспорт данных от сервера на кассы и обратно.

- Работы бонусной и купонной систем.

11. Удаление PostgreSQL 8.4.

ВНИМАНИЕ! Данный шаг можно выполнять, только после того, как вы полностью убедились, что все бизнес-процессы магазина функционируют также, как и до обновления на PostgreSQL 9.4. Если вы, в этом не уверены, тогда не выполняйте данный шаг и обратитесь в нашу службу поддержки и передайте нам информацию по вашему серверу с помощью инструмента.

Шаги по удалению выполняются строго по порядку!

11.1. Остановите все службы SetRetail10 и PostgreSQL 9.4.

11.2. Переименуйте папку с PostgreSQL 9.4 другим именем

11.3 Переименуйте папку с PostgreSQL 8.4 на стандартную папку для работы сервера

11.4. В разделе "Программы и компоненты" (Programs and features) нажмите правой кнопкой мыши по наименованию " PostgreSQL 8.4 " и выберите пункт "Удалить/Изменить"

Если у вас появилась ошибка следующего вида, тогда воспользуйтесь другим методом удаления PostgreSQL 8.4 указанным ниже

Нажмите кнопку "Yes".


Дождитесь окончания процесса удаления PostrgeSQL 8.4.


После окончания установки появится сообщение о невозможности удаления папки c файлами баз данных и пользователя postgresql . Нажмите кнопку "ОК".

Перейдите в папку с PostgreSQL 8.4. и проверьте, что в ней находится только папка data

11.5. Переименуйте папку с PostgreSQL 8.4 другим именем

Верните имя папке с PostgreSQL 9.4 на стандартную для работы сервера

11.6. Запустите все службы SetRetail10 и службу PostgreSQL 9.4

Проверьте работу сервера.

11.7. После того как вы полностью убедились, что все бизнес-процессы магазина работают можно удалить папку с PostgreSQL 8.4.

Обновление на PostgreSQL 9.4 завершено.

Возможные инциденты

PgAdmin: pg_restore: [архиватор (БД)] не удалось подключить к базе "set_loyal": fe_sendauth: no password supplied

Если в процессе восстановления возникла такая ошибка:

Удалите папку postgresql из C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\

Ошибка при установке "An error occured executing the Microsoft VC++ runtime installer"

Если у вас во время установки произошла ошибка связанная с Microsoft VC+

Запустите установщик из командной строки:

postgresql-8.4.9-1-windows.exe --install_runtimes 0

Ошибка при удалении PostgreSQL 8.4  There has been an error. Element <value>...

Если Вам не удается удалить PostgreSQL 8.4 стандартным способом из раздела "Программы и компоненты" и появляется следующая ошибка, тогда выполните следующие шаги.

1. Проверьте, что служба PostgreSQL 8.4, остановлена

2. Откройте сеанс командной строки и выполните команду

sc delete postgresql-8.4

3. Удалите папку с PostgreSQL 8.4.

4. Удалите PostgreSQL 8.4 из списка программ и компонентов

5. Нажмите кнопку "Да".

6. Вернитесь к пункту инструкции 11.6 и выполните только его

Восстановление баз данных из командной строки

Если по каким-либо причинам клиент PgAdmin не работает, то всегда существует возможность восстановления баз данных из командной строки.

1. Запустите командную строку от имени Администратора.

2. Перейдите в каталог bin с PostgreSQL 9.4.

3. Выполните команду в которой после знака равно должен быть пароль к вашему серверу БД:

SET PGPASSWORD=postgres

4. Выполните команду на создание базы данных set

createdb.exe -h localhost -p 5432 -U postgres set

5. Следующей командой восстановите БД из архива:

pg_restore.exe --host localhost --port 5432 --username postgres --dbname "set" --verbose "ПУТЬ_К_ФАЙЛУ_АРХИВА_БД\АРХИВ_БД.backup"

6. Дождитесь процесса восстановления

8. После восстановления допустимо такое предупреждение, оно не влияет на работоспособность сервера PostgreSQL 9.4

Выполните аналогичные действия для баз: set_operday и set_loyal

Обращение в службу поддержки

Если у вас случился инцидент и он не попадает не под один из выше перечисленных способов.

1. Воспользуйтесь специальным инструментом для сбора информации по серверу

2. Обратитесь службу поддержки СSI

Откат обновления обратно на PostgreSQL 8.4.

Если по каким-либо причинам у Вас после обновления наблюдаются проблемы с функционированием бизнес-процессов магазина и требуется быстро восстановить корректную работу, тогда выполните следующие шаги.

1. Остановите все службы SetRetail10 и PostgreSQL 9.4.

2. Отключите службу PostgreSQL 9.4

3. Удалите временные файлы сервера магазина

Очистите всю папку \SetRetail10\standalone\data

Очистите папку \SetRetail10\standalone\tmp\auth

Очистите папку \SetRetail10\standalone\tmp\vfs

Очистите папку \SetRetail10\standalone\tmp\work

4. Переименуйте папку PostgreSQL 9.4 любым другим именем

5. Верните папке c PostgreSQL 8.4. стандартное имя для работы СУБД сервера

6. Включите и запустите службу PostgreSQL 8.4

7. Запустите службы SetRetail10

Внимание! PostgreSQL 9.4 не нужно удалять для дальнейшего анализа причин отката.

7. Проверьте, что сервер работает корректно.

Наличие файла Set10.ear.deployed свидетельствует о корректном запуске сервера

Также проверьте, что log-файл сервера выглядит корректно.

Проверьте, что визуализация сервера открывается и вы можете воспользоваться стандартным функционалом.


Обязательно проверьте что у Вас работает весь функционал бизнес-процессов вашего магазина такой как:
- Транспорт данных в ERP.
- Транспорт данных от сервера на кассы и обратно.
- Работы бонусной и купонной систем.

9. Воспользуйтесь инструментом для сбора информации по серверу и отправьте в нашу службу поддержки

© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных