Служба postgresql не запускается windows

Инцидент: в ситуации, когда сервер был выключен аварийно, через кнопку выключения или при отсутствии электропитания, то после его включения служба PostgreSQL в некоторых случаях не запускается.

Для версий PostgreSQL:

  • 9.X
  • 11.X

Некорретное завершение работы службы

Как исправить:

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/.

  • Сборник файлов для PostgreSQL 11
  • Сборник файлов для PostgreSQL 9

6. После копирования недостающих файлов:

  1. Остановите службы сервера приложений SetRetail10 и МУК.
  2. Запустите службу PostgreSQL.
  3. Запустите службы сервера приложений 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

PostgreSQL не запускается служба.

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

Следующий шаг это сбросить лог.

Для сброса лога:

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

2. Зайдите в папку «bin» (по умолчанию C:\Program Files (x86)\PostgreSQL\9.3\bin), найдите и перетащите
pg_resetxlog.exe в командную строку, дописав в начале созданной строки «CD». Это нужно для того, чтобы перейти в
нужную директорию. И нажмите ENTER.

3. Затем введите в команду pg_resetxlog.exe -f «C:\Program Files (x86)\PostgreSQL\9.3\data» (где C:\Program
Files\PostgreSQL\9.3\data
— это путь по умолчанию).

4. После очистки лога запустите службу PostgreSQL. Если с первого раза служба не запустилась, то потребуется еще
раз чистить и снова пробовать.

Если при первом вызове службы была ошибка:

pg_resetxlog: lock file «postmaster.pid» exists
Is a server running? If not, delete the lock file and try again.

То удалите файл «postmaster.pid» (по умочанию C:\Program Files\PostgreSQL\9.3\data\postmaster.pid), чтобы сброс лога нормально отработал.



Техническая поддержка ПО: it@tenso-m.ru

Сервисный центр: srv@tenso-m.ru

Другие вопросы и пожелания: faq@tenso-m.ru

Всех приветствую, подскажите, скачал и установил PostgreSQL 12.1.3 для Windows, для изучения, система у меня — Windows 7×64 со всеми обновами, уже на этапе установки выскакивает ошибка что невозможно законнектится к службе постргреса,

5e2c61b96b24d964027907.jpeg

5e2c61ff08089476442934.jpeg

5e2c62383f364362326591.jpeg

5e2c62675be64946043165.jpeg

5e2c628763af6020515593.jpeg

если продолжить то потом при входе в админскую панель в браузере с помощью pgAdmin4 невозможно создать сервер — коннект к службе так же невозможен
Если открыть панель служб винды то там служба postgresql-x64-12 висит со статусом остановлена — запустить её вручную неудается — выходит сообщение — служба была запущена и сразу установлена, пробовал скопировать строчку запуска службы —
«C:\PostgreSQL\12\bin\pg_ctl.exe» runservice -N «postgresql-x64-12» -D «C:\PostgreSQL\12\data» -w
И вставил её в командную строку — ни в обычной ни в админской коммандн.строке не запускается:
C:\>»C:\PostgreSQL\12\bin\pg_ctl.exe» runservice -N «postgresql-x64-12» -D «C:\PostgreSQL\12\data» -w
pg_ctl: не удалось запустить службу «postgresql-x64-12» (код ошибки: 1063)

Пробовал гуглить — проблема ненова но в основном она у всех после длительного использования — кэш почистили настройки некоторые сбросили — и все запустилось, а у меня нечего чистить и сбрасывать — чистая новая установка, странно, что делать?

Решение вопроса:

1.Необходимо проверить запущен ли процесс в диспетчере задач

Не запускается служба postgresql, но процесс в диспетчере задач запущен.

2.Порт который использует Postgresql 5432. Чтобы проверить используется ли он, необходимо запустить командную строку от имени администратора и ввести команду:
   netstat -ano | findstr :5432

Не запускается служба postgresql, но процесс в диспетчере задач запущен.

3.Перейти в командной строке в каталог где лежит pg_ctl. Для этого необходимо ввести команду:
   cd C:\Program Files\PostgreSQL\10.5-24.1C\bin

4.Остановить работу сервера postgresql командой:
   pg_ctl stop -D «D:\PostgreSQL\10.5-24.1C\data»

Где «D:\PostgreSQL\10.5-24.1C\data» — это путь где лежат базы данных Postgresql.

Не запускается служба postgresql, но процесс в диспетчере задач запущен.

5.Теперь можно запустить службу корректно через консоль «Службы»

Не запускается служба postgresql, но процесс в диспетчере задач запущен.

PostgreSQL служба не запускается

0

2dolist

07.07.17

11:22

Добрый день. Такая проблема. Изменил настройки postgresql.conf на рекомендуемые с итс и теперь не получается запустить службу PostgreSQL.

Версия постгре 9.4.2-1.1Cx64.

Вин сервер 2012

Ошибка: Служба PostgreSQL на «Локальный компьютер» была запущена и затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами.

Подскажите что делать?

1

Вафель

07.07.17

11:24

не может такого быть. ПГ работает как часы

2

Вафель

07.07.17

11:24

Хотя нет, это только на линуксе

3

МихаилМ

07.07.17

11:25

верните настройки .

4

2dolist

07.07.17

11:28

(3) вернул, всё равно так

5

2dolist

07.07.17

11:29

переустановить чтоль постгре

6

Вафель

07.07.17

11:32

а порты не заняты?

7

2dolist

07.07.17

11:34

а как проверить

8

Hmster

07.07.17

11:36

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

9

2dolist

07.07.17

11:36

Так я рестартнул — всё равно

10

2dolist

07.07.17

11:37

Вот в логе последнем в pg_log

2017-07-07 11:29:10 AZST LOG:  database system was shut down at 2017-07-07 11:29:09 AZST

2017-07-07 11:29:10 AZST LOG:  database system is ready to accept connections

2017-07-07 11:29:10 AZST LOG:  autovacuum launcher started

2017-07-07 13:12:04 AZST LOG:  received fast shutdown request

2017-07-07 13:12:04 AZST LOG:  aborting any active transactions

2017-07-07 13:12:04 AZST LOG:  autovacuum launcher shutting down

2017-07-07 13:12:04 AZST LOG:  shutting down

2017-07-07 13:12:04 AZST LOG:  database system is shut down

11

2dolist

07.07.17

11:38

при новых запусках не пишет ничего в логах

12

Вафель

07.07.17

11:38

netstat

13

2dolist

07.07.17

11:39

(12) а что с ним запускать-то, по адресу чтоль?

14

2dolist

07.07.17

11:40

(12) нет среди запущенных постгре

15

Вафель

07.07.17

11:42

а порты не заняты его?

16

2dolist

07.07.17

11:42

(15) а как узнать?

17

2dolist

07.07.17

11:43

ну он бы тогда наверное на другое ругался, а ни на то, что служба запущена, а зетем остановлена

18

Вафель

07.07.17

11:44

Говорят это проблема с правами. От чьего имени стартуешь?

19

2dolist

07.07.17

11:45

(18) с правами админа

20

Вафель

07.07.17

11:46

попробуй local system

21

2dolist

07.07.17

11:47

(20) это где прописать, в самой службе? Там написано, кстати, в закладке «Вход в систему» заходить с учётки USR1CV8

22

Вафель

07.07.17

11:49

(21) И это ты называешь админские права?

23

Вафель

07.07.17

11:50

мне кажется у этого пользователя нет прав на каталог с бд

24

2dolist

07.07.17

11:50

это в самой службе в свойствах. В постгрешке же надо под своей учёткой запускать службу

25

2dolist

07.07.17

11:55

Есть права

26

2dolist

07.07.17

11:56

блин, вообще не пойму что делать и почему упало и как восстанавливать. Беда.

27

Адинэснег

07.07.17

12:02

как там лустин говорил, нет pg админа — нехер пытаться

28

Вафель

07.07.17

12:02

(26) локал систем уже пробовал?

29

2dolist

07.07.17

12:07

(28) а как, я не понял чем это поможет если у юзера есть права на папку

30

2dolist

07.07.17

12:07

(27) ну что значит нехрен пыпаться, если базы постоянно падают с нехваткой памяти.

31

Вафель

07.07.17

12:08

(29) Если ты так вопросы решаешь, то тебе лучше просто удалить это ПГ

32

zva

07.07.17

12:08

(19) с правами админа PG не запустится, куда учетка postgres делась?

33

inkvizitr

07.07.17

12:11

открой диспечер задач, и прибей все зависшие процессы postgre

34

2dolist

07.07.17

12:12

(32) в самой службе постгре указан запуск от имени USR1CV8, у которого есть доступ к папке с файлами постгре и базами

35

2dolist

07.07.17

12:12

(33) нету их — я сервак перезапускал даже

36

inkvizitr

07.07.17

12:16

(35) укажи в службе самого крутого пользователя по правам, потом открой hd_pga.conf и добавь там host all all 192.168.0.0/24 trust

37

zva

07.07.17

12:18

(34) Там мало доступа, учетка, от которой стартует служба postgre НЕ ДОЛЖНА быть в группе Администраторов, и должна быть ВЛАДЕЛЬЦЕМ некоторых каталогов, например папки с базами. Без этого служба будет останавливаться.

38

Вафель

07.07.17

12:19

(37) не может такого быть, чтоб добавление в админы убивало службу

39

2dolist

07.07.17

12:28

(36) попробовал дать доступ, разницы никакой

40

2dolist

07.07.17

12:38

удалил вообще конф и стала запускаться служба…

41

2dolist

07.07.17

12:38

но настройки-то нужны какие-то

42

2dolist

07.07.17

12:39

но база всё равно не доступна…

43

Вафель

07.07.17

12:40

типовой конф подложи

44

2dolist

07.07.17

12:40

где б его взять

45

inkvizitr

07.07.17

13:41

(44) установи postgres на другой машине

46

2dolist

07.07.17

13:47

так, я переформировал postgresql.conf, служба запустилась, базы подрубились.

Я попробовал разобраться в каком именно месте конфа была ошибка — оказалось, что на строке

effective_io_concurrency = 2

по умолчанию она на 1 и закомменчена. Если её хотя бы раскомментить — служба уже не запускается

47

2dolist

07.07.17

13:48

а эта строка есть в советах по настройке постгре вот тут:

https://its.1c.ru/db/metod8dev#content:5866:hdoc

48

Вафель

07.07.17

13:58

49

Вафель

07.07.17

13:59

сообщение 51

50

Вафель

07.07.17

14:00

Это проблемы чисто ПГ под винду

51

2dolist

07.07.17

14:05

Вдогонку вопрос. Надо ли

52

2dolist

07.07.17

14:05

set merge_join off

53

Вафель

07.07.17

14:07

(52) но зачем?

54

2dolist

07.07.17

14:09

(53) набрёл на советы по его отключению при ошибках с нехваткой памяти

55

Вафель

07.07.17

14:10

(54) ты понимаешь что такое мердж джойн?

56

2dolist

07.07.17

14:14

смутно. Я так понимаю, что нужно для планировщика. Создаёт 2 ряда, потом их соединяет и работает уже с соединениями. В итоге, работа быстрее, но памяти на соединение жрёт больше.

57

2dolist

07.07.17

14:31

прочитал описание, вроде как штука хорошая в плане оптимизации огромных запросов. Надо будет потестить разницу как-нибудь.

58

ansh15

07.07.17

14:58

59

ansh15

07.07.17

15:00

(56) Просто добавить памяти.

60

2dolist

07.07.17

15:50

(59) 16 гигов — куда ещё. Базы-то мизерные, гигов по 5.

61

2dolist

07.07.17

15:50

ну 10 макс

62

2dolist

07.07.17

16:01

(59) или речь о настройке work_mem?

63

ansh15

07.07.17

16:52

(60) http://evtuhovich.ru/blog/2013/03/20/big-cache/

Весьма доступно о том, для чего не помешает больше памяти.

64

Господин ПЖ

07.07.17

16:56

просто откиньтесь на спинку стула.

65

rphosts

07.07.17

17:39

(46) в следующий раз смотри журнал событий виндовс — там всё что надо написано

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Все телефоны nokia на windows
  • Windows xp pro sp3 rus iso
  • Панель задач windows vista для windows 10
  • Windows 2008 r2 upgrade to 2019
  • Перезапуск сетевого адаптера из командной строки windows