Устранение неполадок PostgreSQL🔗
Прервался процесс переноса данных в PostgreSQL 16🔗
Примечание
Информация об ошибке отображается в окне утилиты Macroscop Статус Инфо.
Если при переносе данных из PostgreSQL 12 в PostgreSQL 16 возникли проблемы:
Откройте директорию с файлами PostgreSQL:
C:\ProgramData\postgredb\
Удалите файл .migrated.
Переустановите приложения Macroscop с помощью файла MacroscopMainCommon Installer.exe.
Не запускается служба PostgreSQL🔗
В случае такой ошибки следует проверить логи PostgreSQL. В логах не должен упоминаться файл WAL Redo, пример:
FATAL: could not create directory "pg_tblspc/16399": File exists
CONTEXT: WAL redo at 29/E1DDEC18 for XLOG/FPI_FOR_HINT:
LOG: startup process (PID 479752) exited with exit code 1
При наличии логов с WAL Redo следует очистить журнал предзаписи с помощью команды:
[путь до Bin]/pg_resetwal -D [путь до Data]
Пример команды на Windows для PostgreSQL 12:
cd "C:\Program Files\PostgreSQL\12\bin"
./pg_resetwal -D "C:\ProgramData\postgredb"
Пути к директориям Bin и Data для разных ОС перечислены ниже.
Пути к директории Bin🔗
На Windows: C:\Program Files\PostgreSQL\[версия]\bin
На Linux:
Debian (Ubuntu, Astra Linux): /usr/lib/postgresql/[версия]/bin
ALT Linux: добавлены в PATH (/usr/bin)
РЕД ОС (PostgreSQL 12): /usr/bin
РЕД ОС (PostgreSQL выше 12): /usr/pgsql-[версия]/bin
Роса «Хром» (PostgreSQL 12): /usr/bin
Роса «Хром» (PostgreSQL выше 12): /usr/libexec/postgresql[версия]
Пути к директории Data🔗
На Windows (PostgreSQL 12): C:\ProgramData\postgredb
На Windows (PostgreSQL 16): C:\ProgramData\postgredb16
Предупреждение
При установке путём запуска файла MacroscopMainCommon Installer.exe может быть указан другой путь. В таком случае расположение данных можно узнать из реестра Registry Editor в ветке HKLM\SOFTWARE\PostgreSQL\Installations с помощью ключа Data Directory.
На Linux:
Debian (Ubuntu, Astra Linux): /var/lib/postgresql/[версия]/main
ALT Linux: /var/lib/pgsql/data
РЕД ОС (PostgreSQL 12): /var/lib/pgsql/data
РЕД ОС (PostgreSQL выше 12): /var/lib/pgsql/[версия]/data
Роса «Хром» (PostgreSQL 12): /var/lib/pgsql/data
Роса «Хром» (PostgreSQL выше 12): /var/lib/postgresql[версия]/data
Не запускается приложение pgadmin4🔗
Ошибка при запуске приложения pgadmin4 может возникнуть при попытке переноса данных на новую версию.
Решение:
Откройте директорию:
C:\Users\username\AppData\Roaming\pgAdmin
Найдите и переименуйте папку pgAdmin, например, в pgAdmin_bak.
Перезапустите приложение pgadmin4.
После установки не удаётся подключиться к PostgreSQL через pgadmin4🔗
Откройте директорию с конфигурационными файлами PostgreSQL.
C:\ProgramData\postgredb16\
В текстовом редакторе откройте файл postgresql.conf.
Замените строку:
port = 5433
на:
port = 5432
Перезапустите службу postgresql-x64-16 с помощью командной строки или стандартной оснастки Службы.
Не работает синхронизация базы данных модулей аналитики🔗
После обновления нужно настроить файл pg_hba.conf.
Для этого:
Откройте директорию с конфигурационными файлами PostgreSQL.
Путь по умолчанию для ОС Windows:
C:\ProgramData\postgredb16\
Путь по умолчанию для ОС Debian, Ubuntu:
/etc/postgresql/16/main/
В текстовом редакторе откройте файл postgresql.conf и добавьте в него строку вида:
listen_addresses = '*'
Указанный пример разрешает получать запросы через все доступные сетевые адаптеры сервера. При необходимости ограничить список адаптеров, разрешённых для приёма запросов к базам данных, замените символ /* на точный адрес сетевого адаптера.
Примечание
Подробную информацию о настройке можно получить в документации к PostgreSQL 16 (см. Connections and Authentication).
В текстовом редакторе откройте файл pg_hba.conf и добавьте в него строку вида:
host all all 192.168.0.0/24 md5
Указанный пример разрешает удалённое подключение ко всем базам, хранящимся на сервере, для всех пользователей, обращающихся с адресов диапазона 192.168.0.XXX. В случае, если в сети системы применяется иная адресация, необходимо указать соответствующий диапазон адресов. Допускается внесение нескольких строк с разными диапазонами адресов.
Примечание
Подробную информацию о настройке можно получить в документации к PostgreSQL 16 (см. The pg_hba.conf File).
Перезапустите службу postgresql-x64-16 с помощью командной строки или стандартной оснастки Службы.