Инцидент: в ситуации, когда сервер был выключен аварийно, через кнопку выключения или при отсутствии электропитания, то после его включения служба PostgreSQL в некоторых случаях не запускается.
Некорретное завершение работы службы
Информация |
---|
Для любых версий PostgreSQL:
|
Как исправить:
1. Запустите сеанс командной строки от Администратора.
2. Выполните последовательно следующие команды и внимательно следите за их работой:.
3. Определить домашний каталог PostgreSQL.
Блок кода | ||||
---|---|---|---|---|
| ||||
set PGDATA=%SET_POSTGRES_BIN%/../data/ |
-
4. Проверьте реальный статус экземпляра службы PostgreSQL.
Блок кода | ||||
---|---|---|---|---|
| ||||
%SET_POSTGRES_BIN%/pg_ctl.exe status |
-
5. Выполните команду для полной остановки процесса PostgreSQL.
Следующими командами выполняется корректный выход из рабочего состояния сервера СУБД и его запуск.
Блок кода | ||||
---|---|---|---|---|
| ||||
%SET_POSTGRES_BIN%/pg_ctl.exe stop -m fast |
...
6. Запустите приложение СУБД.
Блок кода | ||||
---|---|---|---|---|
| ||||
%SET_POSTGRES_BIN%/pg_ctl.exe start |
-
7. После этого заново остановите процесс. Повтор данного шага вызван тем, что таким образом запуска приложение сервера СУБД корректно завершит недостающие транзакции.
Блок кода | ||||
---|---|---|---|---|
| ||||
%SET_POSTGRES_BIN%/pg_ctl.exe stop -m fast |
-
8. После выполненных шагов по перезапуску и правильной остановке экземпляра СУБД запустите службу PostgreSQL.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
net start postgresql-x64-9.4 |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
net start postgresql-x64-11 |
Служба не запускается. Есть сообщения об ошибках. Отсутствуют исполняемые файлы и DLL-библиотеки СУБД
В некоторых случаях после аварийной перезагрузки или в результате срабатывания антивирусных программ при запуске ОС Windows несколько файлов, которые необходимы для работы СУБД PostgreSQL могут отсутствовать. Это может объясняться критическим сбоем ОС.
При попытке использовать способ для запуска служб и инициирования процесса pg_ctl.exe, будет отображаться сообщение о его отсутствии или недостающих файлов библиотек.
1. Запустите скрипт, с помощью которого, проверьте, что для данной версии СУБД присутствуют все компоненты и файлы, которые входят в состав.
2. Скачайте и разместите файл скрипт в папку с PostgreSQL: {Disk}:/Папка_PostgreSQL/bin/.
- PostgreSQL 11: check_v11.bat.
- PostgreSQL 9: check_v9.bat.
3. Запустите файл скрипта. В результате выполнения будет сформирован файл отчета report.txt.
4. Откройте файл отчета и проверьте, что все компоненты присутствуют.
Обязательно должны присутствовать такие библиотеки и исполняемые файлы, а также все библиотеки DLL.
- libintl-9.dll
- pg_ctl.exe
- postgres.exe
- psql.exe
5. Если какие-либо файлы отсутствуют. Тогда загрузите архив для соответствующей версии PostgreSQL и скопируйте недостающие файлы в папку СУБД {Disk}:/Папка_PostgreSQL/bin/.
6. После копирования недостающих файлов:
- Остановите службы сервера приложений SetRetail10 и МУК.
- Запустите службу PostgreSQL.
- Запустите службы сервера приложений SetRetail10 и МУК.
Дополнительная информация
Сравнительная таблица списка исполняемых файлов в версиях PostgreSQL
PostgreSQL 9.4 | PostgreSQL 11.7 |
clusterdb.exe | clusterdb.exe |
createdb.exe | createdb.exe |
createlang.exe | createuser.exe |
createuser.exe | dropdb.exe |
dropdb.exe | dropuser.exe |
droplang.exe | ecpg.exe |
dropuser.exe | icudt53.dll |
ecpg.exe | icuin53.dll |
iconv.dll | icuio53.dll |
initdb.exe | icule53.dll |
isolationtester.exe | iculx53.dll |
libeay32.dll | icutest53.dll |
libintl-8.dll | icutu53.dll |
libpq.dll | icuuc53.dll |
libxml2.dll | initdb.exe |
libxslt.dll | isolationtester.exe |
oid2name.exe | libcrypto-1_1-x64.dll |
pg_archivecleanup.exe | libcurl.dll |
pg_basebackup.exe | libcurl.lib |
pg_config.exe | libecpg.dll |
pg_controldata.exe | libecpg_compat.dll |
pg_ctl.exe | libiconv-2.dll |
pg_dump.exe | libintl-9.dll |
pg_dumpall.exe | libpgtypes.dll |
pg_isolation_regress.exe | libpq.dll |
pg_isready.exe | libssl-1_1-x64.dll |
pg_receivexlog.exe | libwinpthread-1.dll |
pg_recvlogical.exe | libxml2.dll |
pg_regress.exe | libxslt.dll |
pg_regress_ecpg.exe | oid2name.exe |
pg_resetxlog.exe | pg_archivecleanup.exe |
pg_restore.exe | pg_basebackup.exe |
pg_standby.exe | pg_config.exe |
pg_test_fsync.exe | pg_controldata.exe |
pg_test_timing.exe | pg_ctl.exe |
pg_upgrade.exe | pg_dump.exe |
pg_xlogdump.exe | pg_dumpall.exe |
pgAdmin3.exe | pg_isolation_regress.exe |
pgbench.exe | pg_isready.exe |
postgres.exe | pg_receivewal.exe |
psql.exe | pg_recvlogical.exe |
reindexdb.exe | pg_regress.exe |
ssleay32.dll | pg_regress_ecpg.exe |
stackbuilder.exe | pg_resetwal.exe |
vacuumdb.exe | pg_restore.exe |
vacuumlo.exe | pg_rewind.exe |
wxbase28u_net_vc_custom.dll | pg_standby.exe |
wxbase28u_vc_custom.dll | pg_test_fsync.exe |
wxbase28u_xml_vc_custom.dll | pg_test_timing.exe |
wxmsw28u_adv_vc_custom.dll | pg_upgrade.exe |
wxmsw28u_aui_vc_custom.dll | pg_verify_checksums.exe |
wxmsw28u_core_vc_custom.dll | pg_waldump.exe |
wxmsw28u_html_vc_custom.dll | pgbench.exe |
wxmsw28u_stc_vc_custom.dll | postgres.exe |
wxmsw28u_xrc_vc_custom.dll | psql.exe |
zic.exe | reindexdb.exe |
zlib1.dll | stackbuilder.exe |
vacuumdb.exe | |
vacuumlo.exe | |
wxbase28u_net_vc_custom.dll | |
wxbase28u_vc_custom.dll | |
wxbase28u_xml_vc_custom.dll | |
wxmsw28u_adv_vc_custom.dll | |
wxmsw28u_aui_vc_custom.dll | |
wxmsw28u_core_vc_custom.dll | |
wxmsw28u_html_vc_custom.dll | |
wxmsw28u_xrc_vc_custom.dll | |
zic.exe | |
zlib1.dll |