В данном разделе собраны ошибки, связанные с обновлением PostgreSQL с версии 9.5 до 10
Версия АРМ ЭРС - 3.0.30
Обязательно делайте резервную копию базы данных!
PostgreSQL 10 при обновлении ставится поверх версии 9.5
Убедитесь, что у вас открыт порт 5433 в брандмауэре
В соответствии с рекомендациями ФСТЭК с 11.10.2022 будет выложена новая версия АРМ ЛПУ (ЭРС) с PostgreSQL - 10.22. При переходе на версию АРМ ЛПУ (ЭРС) 3.0.30 необходимо выполнить следующие шаги:
1. Сделать резервную копию данных (Администрирование → Резервное копирование базы данных).
2. При установке новой версии АРМ ЛПУ ОБЯЗАТЕЛЬНО выбрать пункт «Установить» на вкладке «Параметры подключения к базе данных». В строке порт соединения ОБЯЗАТЕЛЬНО указать новый номер порта (по умолчанию - 5433), отличный от номера для PostgreSQL 9.5 (по умолчанию - 5432).
3. После запуска АРМ ЛПУ в настройках соединения с базой данных (Администрирование → Настройки соединения с базой данных) ОБЯЗАТЕЛЬНО заменить номер порта на новый.
4. Восстановить данные из резервной копии (Администрирование → Восстановление базы данных).
Примечание: Если вы используете подключение к базе данных, установленной на удаленный сервер, то сначала нужно установить новую версию ЛПУ на этот сервер с учетом условий выше.
Причина:
Нет подключения к базе АРМ ЭРС
Решение:
1. Предварительно сделав резервную копию БД - удалить PostgreSQL10.
2. Очистить папку C:\PostgreSQL10
3. Открываем установочный .exe файл АРМ ЭРС в 7zfm.
4. Вытаскиваем оттуда postgresql-10.22-1-windows.exe.
5. Запускаем postgresql-10.22-1-windows.exe, устанавливаем в папку C:\postgresql10, пароль Manager1 порт 5433
6. Запускаем установку АРМ ЛПУ
Решение:
Win+R - cmd
в командной строке написать:
для 32-разрядных систем:
sc delete postgresql-10
или для 64-разрядных систем:
sc delete postgresql-x64-10
Если нет возможности войти в программу и поменять порт (например из-за недоступности БД):
Переходим в C:\FssArmErs\configuration\.settings
Открываем файл: ru.ibs.fss.eln.prefs
Редактируем строку
dburl=jdbc:postgresql://localhost:5433/fss
Где 5433 - порт
Для доступа в админку СУБД нужно перейти в: C:\postgresql\bin
Запустить файл: pgAdmin3.exe
Правой кнопкой мыши на БД - Подключиться
Логин: postgres
Пароль: Manager1
Для резервного копирования БД необходимо в c:\PostgreSQL создать bat-файл со следующим содержимым:
REM СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL CLS ECHO OFF CHCP 1251 REM Установка переменных окружения SET PGBIN=c:\PostgreSQL\bin SET PGDATABASE=fss SET PGHOST=localhost SET PGPORT=5433 SET PGUSER=postgres SET PGPASSWORD=Manager1 REM Смена диска и переход в папку из которой запущен bat-файл %~d0 CD %~dp0 REM Формирование имени файла резервной копии и файла-отчета SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% SET DUMPFILE=%PGDATABASE%.backup SET LOGFILE=%PGDATABASE%.log SET DUMPPATH="C:\backup_db_fss\%DUMPFILE%" SET LOGPATH="C:\backup_db_fss\%LOGFILE%" REM Создание резервной копии IF NOT EXIST Backup MD Backup CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH% REM Анализ кода завершения IF NOT %ERRORLEVEL%==0 GOTO Error GOTO Successfull REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале :Error DEL %DUMPPATH% MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log." ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> backup.log GOTO End REM В случае удачного резервного копирования просто делается запись в журнал :Successfull ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup.log GOTO End :End
в строках:
SET DUMPPATH="C:\backup_db_fss\%DUMPFILE%" SET LOGPATH="C:\backup_db_fss\%LOGFILE%"
необходимо выставить свой путь для сохранения бэкапа БД и логов (переменные %DUMPFILE% и %LOGFILE% не трогать)
После этого необходимо добавить данный bat-файл в планировщик заданий для выполнения задачи резервного копирования по расписанию.