Служба postgresql не запускается: sql — Служба postgresql была запущена и затем остановлена

Не могу подключиться к БД PostgreSQL14. Не запускается служба PostgreSQL



Задать вопрос


Вопрос задан


Изменён
1 год 2 месяца назад


Просмотрен
614 раз

Когда я пытаюсь подключиться через SQL Shell выходит ошибка (через pgAdmin4 также не подключается):

psql: error: connection to server at «localhost» (::1), port 5432
failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?
connection to server at «localhost» (127.0.0.1), port 5432 failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?

В службах Windows PostgreSQL не запускается (установлена Win10).

Это решение не помогло https://stackoverflow.com/a/27568135/17655569.

Также пробовал переустановить по этой инструкции https://webkul.com/blog/postgresql-windows-installation-problem-running-post-install-step-installation-may-not-complete-correctly/. Но к сожалению, помогает только до первой перезагрузки.

Как можно решить данную проблему? Я начинаю учить язык программирования Java. Может твообще установить другую СУБД? SQLite 3 подойдет?

Вот нашел в логах:

ВАЖНО: XX000: C:\Program Files\PostgreSQL\14\bin\postgres.exe:
подходящий исполняемый файл postgres не найден ПОЛОЖЕНИЕ:
getInstallationPaths, postmaster.c:1495

  • postgresql

если это ещё актуально, мне помогло удаление autorun (chcp 1251) в реестре.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun

Ссылка на это решение:
https://stackoverflow.com/questions/65413979/can-not-run-postgresql-by-pg-ctl







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


windows 8 — Postgresql после переустановки отказался работать



Задать вопрос


Вопрос задан


Изменён
2 года назад


Просмотрен
721 раз

Сперва всё было хорошо. Преустановил Postgresql и после этого -не запускается.
Пишет

Server doesn’t listen The server doesn’t accept connections: the
connection library reports could not connect to server: Connection
refused (0x0000274D/10061) Is the server running on host «localhost»
(::1) and accepting TCP/IP connections on port 5433? could not
connect to server: Connection refused (0x0000274D/10061) Is the
server running on host «localhost» (127. 0.0.1) and accepting TCP/IP
connections on port 5432?

По форумам посмотрел-такое бывает, но не нашёл- что с этим делать?
Службу перезапускаю- она тут-же выключается
OC Windows 8

  • postgresql
  • windows-8






2

Вы привели информацию о том, что сервер не запущен. Теперь главное — выяснить, что происходит при попытке запуска. Вот тут рекомендации, как вытащить эту информацию на Windows: https://wiki.postgresql.org/wiki/Troubleshooting_Installation#Extra_information_Windows_users_need_to_collect

Прежде всего нужно смотреть в Windows Event Log — с помощью Event Viewer. Скорее всего, там будет описана причина незапуска.

Рассмотрите возможность проверки какой тип IP адреса получает база данных. Вижу что у вас включён IpV6, возможно стоит исключить выдачу диапазона Ipv6.
Так же я бы проверил запустилась ли сама база данных, у меня такое было из за долгого запуска базы, django требовал подключение быстрее чем мог позволить себе psql







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


Невозможно запустить PostgreSQL как службу Windows

спросил

Изменено
1 год, 1 месяц назад

Просмотрено
114 тысяч раз

У меня было это в моих службах Windows:

 C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe runservice -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w
 

Никогда не завершает выполнение. Но если бы я сделал это в оболочке dos:

 C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe start -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w
 

Обратите внимание, что я изменил только «runservice» на «start», и все работает нормально.

Есть идеи?

  • postgresql
  • служба

1

Команда runservice может быть выполнена только диспетчером служб

, чтобы исправить мой локальный хост Windows 7 для запуска postgres как службы
я использовал следующую команду для запуска данных

 pg_ctl -D "C:\Program Files\PostgreSQL\9. 1\data" start
 

Затем проверил статус на наличие ошибок

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" статус
 

, если вы получите ошибку 1063, это более чем вероятные разрешения, я выполнил следующую команду

 cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F
 

затем перезапустил запуск/статус, он показал все нормально, но все равно диспетчер служб не запускал службу

Итак, в Services->postgresql->options->logon я установил вход в качестве учетной записи локальной системы вместо пользователь postgres, и вуаля, все заработало

3

это случилось со мной, потому что я установил свой каталог данных где-то, к чему у учетной записи пользователя postgres windows не было доступа.

3

У меня была эта проблема в Windows после системного сбоя. Выполнение первой команды показало неверные данные в C:\Program Files\PostgreSQL\9.1\data\postmaster. pid . Удаление этого файла помогло. Ссылка.

Я столкнулся с той же проблемой после ручного перемещения файлов данных базы данных (каталог PG_DATA) без повторного создания всех необходимых разрешений.

Вот как я решил свою проблему:

1. Проверьте права доступа к старому каталогу PG_DATA:

 cacls "c:\path\to\old\pgdata\dir"
 

2. Проверьте права доступа к новому каталогу PG_DATA:

 cacls "d:\path\to\NEW\pgdata\dir"
 

3. Сравните результаты 1 и 2.

Найдите различия между пользователями и/или разрешениями, а затем синхронизируйте их.

Примечание: Мне было проще использовать проводник для этапа синхронизации, чем использовать cacls непосредственно из командной строки.

Если вы изменили pg_hba.conf , возможно, вы что-то пропустили в файле. Например, после IP в этом файле должен быть CIDR. Должно быть 192.168. 1.100/32

Если забыл поставить 32, то сервер не перезагружается.

Подсказкой может быть изучение журналов запуска. В случае проблемы в pg_hba.conf вы можете увидеть что-то вроде этого:

 2018-11-13 00:39:34.841 PST [8284] FATAL: не удалось загрузить pg_hba.conf
2018-11-13 00:39:34.842 PST [8284] ЖУРНАЛ: система базы данных отключена
 

Вам нужно проверить свои файлы журналов и журнал событий Windows, чтобы понять, в чем проблема. Если там вообще ничего нет, нужно выламывать что-то вроде Process Monitor и получать stacktrace того, где он завис.

У меня была эта проблема в прошлом, и она заключалась в том, что программа установки неправильно настроила разрешения для пользователя, от имени которого должна была работать служба.

Я также столкнулся с этой проблемой с броском postgresql и ошибкой после попытки инициализировать кластер базы данных. После анализа файлов журнала и запуска сценариев командной строки в течение 4 часов у меня есть решение для всех, кто сталкивается с этой проблемой для версий Windows.

Это не подробное описание того, почему это происходит. Я устанавливал odoo 10, 11, 12 и 13 много раз на бесчисленное количество клиентских серверов и систем Windows, и это первый раз, когда я столкнулся с этой проблемой. Я не могу сказать, потому что у меня установлена ​​MS VS Enterprise и Android Studio на этой машине или что-то в этом роде. Но ниже приведен простой ответ о том, как это исправить, инициализировать кластер и создать файлы базы данных в папке данных.

  1. Откройте папку данных для postgresql. — Для установки Odoo это обычно будет «C:\Program Files (x86)\Odoo 13.0\PostgreSQL», если только вы не выбрали другое место при установке.

  2. Удалите любые или все файлы из этой папки. В противном случае вы получите сообщение об ошибке при запуске initdb.exe

  3. Щелкните правой кнопкой мыши папку данных и откройте ее свойства. Перейдите на вкладку «Безопасность», а затем нажмите кнопку «Дополнительно» внизу.

  4. Вам нужно изменить владельца этой папки на openpgsvc. Нажмите «Изменить», введите openpgsvc и нажмите «ОК». После этого установите флажок ниже, указав, что вы хотите, чтобы это изменение также повлияло на контейнеры с этим контейнером.

  5. Затем на вкладке «Разрешения» нажмите кнопку «Добавить» внизу. Вам нужно добавить openpgsvc в качестве пользователя и дать этому пользователю полные права. Нажмите «Применить» и «ОК», чтобы закрыть все свойства папки.

  6. Теперь вам нужно открыть cmd.exe. После открытия мы собираемся вызвать initdb.exe и также передать ему некоторые значения.

  7. Сначала запустите chdir и измените рабочий каталог на расположение initdb.exe. Для меня, работающего с odoo 13 на компьютере с Windows 10, это местоположение..

«C:\Program Files (x86)\Odoo 13.0\PostgreSQL\bin»

  1. Существует одна переменная, которую необходимо передать, чтобы все заработало, вот список. ДОЛЖЕН БЫТЬ ВКЛЮЧЕН В ВЫЗОВ initdb.exe

Каталог данных Postgres: «C:\Program Files (x86)\Odoo 13. 0\PostgreSQL\data»

Конечный результат с параметром для моей установки будет выглядеть следующим образом:

«C:\Program Files (x86)\Odoo 13.0\PostgreSQL\bin\initdb.exe» -D «C:\Program Files (x86) \Odoo 13.0\PostgreSQL\data»

  1. Нажмите Enter и дайте копироваться. Вывод этой команды должен выглядеть так, как показано ниже.
    Cmd.exe запускает сценарий initdb.exe

Убедитесь, что нет пустого файла с ошибками Программа по адресу C:\ как C:\Program

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

 Предупреждение об имени файла
------------------
На вашем компьютере есть файл или папка с именем "C:\Program", которые
может привести к неправильной работе некоторых приложений. Переименование
в "C:\Program1" решит эту проблему. Вы хотите переименовать
это сейчас?
 

Установка PostgreSQL 10 в Windows 7 (да, часы тикают…). Сначала я попробовал последнюю версию 11, которую не удалось установить. .. плохой знак для пользователей Windows. В любом случае.

Быстрый ответ: измените учетную запись на панели «Службы Windows» с «Сетевая» на «Локальная».

Подробности моего случая

Во время установки я создал/выбрал папку данных в папке профиля пользователя, потому что очевидно, что папка, предлагаемая по умолчанию в папке программы, не будет работать, а если бы работала, то была бы очень идея поместить сюда данные (не знаю, принято ли это делать в Unix/Linux, но для Windows это давно запрещено).

В конце (при заполнении кластера данных) получил ошибку:

Не удалось загрузить модули SQL в кластер базы данных

, но установка была завершена. Я нашел две страницы о предыдущей ошибке, здесь и здесь, но они не кажутся мне подходящими для моего случая, поэтому я просто запустил pgAdmin и в левом «браузере» увидел, что сервер не активен.

Я попытался запустить его отсюда (пришлось ввести основной пароль), но он сразу снова стал неактивным. Поэтому я попытался использовать панель служб Windows для запуска «postgresql-x64-10», но безуспешно. Я скопировал команду с этой панели и вставил в консоль Windows (cmd.exe), где наконец получил эти

ошибка 1063.

Поиск Я нашел этот связанный вопрос и был убежден, что проблема связана с разрешениями.

Решение работает для моего случая

На панели служб я изменил учетную запись, используемую для запуска службы, с сетевой службы на локальную систему, как это было предложено в комментарии @AlexanderRios.

1

 sc создать "postgresql-9.2" binPath= "\"C:/Program Files (x86)/PostgreSQL/9.2/bin/pg_ctl.exe\" runservice -N \"postgresql-9.2\" -D \"C:/Program Files (x86)/PostgreSQL/9.2/data\" -w" DisplayName= "postgresql-9.2" старт = авто
 

Попробуйте запустить CMD от имени администратора
(Добавьте свои параметры в зависимости от вашей версии)

  1. Остановить все процессы postgres
  2. Перейдите в папку данных postgres (C:\Program Files\PostgreSQL\9. 6\data)
  3. Удалить файлы postmaster.opts и postmaster.pid
  4. Из панели управления, в административном
    инструменты и консоль служб запускают службу postgres

1

откройте pgAdmin III, а затем на правой панели найдите сервер, затем щелкните правой кнопкой мыши и подключитесь, введите пароль. после подключения зайдите в браузер и обновите ODOO. Задача решена.

См. изображение для лучшего понимания

0

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

Служба postgresql-x64-9.6 на локальном компьютере запустилась, а затем остановилась. Некоторые службы автоматически останавливаются, если они не используются

спросил

Изменено
1 месяц назад

Просмотрено
57 тысяч раз

Служба Postgresql не запускается в services.msc. ниже отображается сообщение при запуске службы PostgreSQL в Window Server 2008 R2.

«Служба postgresql-x64-9.6 на локальном компьютере запущена, а затем остановлена. Некоторые службы останавливаются автоматически, если они не используются другими службами или программами.»

  • postgresql

5

У меня была такая же проблема. и я последовал совету @Craig Ringer. когда я проверяю средство просмотра событий, я получаю эту ошибку. 18-06-2018 12:34:11.222 GMT [4200] FATAL: файл блокировки «postmaster.pid» уже существует
2018-06-18 12:34:11.222 GMT [4200] ПОДСКАЗКА: в каталоге данных «C:/Program Files/PostgreSQL/10/data» работает другой мастер почты (PID 6172)?
, поэтому я удалил файл «postmaster.pid» в моем каталоге данных postgreSQL, снова запустил службу, и на этот раз служба запустилась правильно.
Эта ошибка может быть связана с неполным завершением работы службы postgreSQL.

2

По некоторым причинам процесс postgresql все еще работает в фоновом режиме.

Вы можете столкнуться с этой проблемой, если ваша система принудительно завершает работу.
Решение:

  1. Windows + X (Открыть диспетчер задач — Процессы)

  2. Найти все запущенные службы postgresql и «Завершить задачу».

После завершения всех процессов. Вы можете снова открыть диспетчер задач, чтобы убедиться, что службы postgres не запущены.

  1. Перезапустите сервер Postgresql

2

У меня есть дополнительный ответ на те, что здесь, о том, почему может появиться несколько вводящее в заблуждение сообщение об ошибке, которое теперь является более новой версией, 12.2 по сравнению с 9.6 («Служба сервера postgresql-x64-12 — PostgreSQL 12 на локальном компьютере запущена

По-видимому, ошибки в файле pg_hba.conf приведут к появлению вышеуказанного сообщения об ошибке и сбою запуска службы.0005

В моем случае я отредактировал файл и не смог правильно раскомментировать (#) комментарий. После долгих поисков в Google я никогда не видел, чтобы это упоминалось, но, наконец, ДЕЙСТВИТЕЛЬНО не забыл перепроверить свои правки, и проблема заключалась в простой ошибке.

Я исправил, теперь служба запускается, проблем нет.

— Windows 10 x64 Корпоративная 1909 18363,752
-PostgreSQL 12. 2 (Windows)

1

Я решил ту же проблему.
Вот я сделал.
Я удалил два файла, а затем перезапустил службу. Пожалуйста, эти файлы: postmaster.opts , postmaster.pid в каталоге «C:/Program Files/PostgreSQL/10/data».
Как вы видели ответ @Abodesegun Ezekiel, я удалил еще один файл с именем «postmaster.opts».
и это сработало для меня.

Надеюсь, это будет полезно.

Моя проблема была решена путем изменения учетной записи, которая запускает службу, на «Локальная система», и после этого я смог запустить службу.

В моем случае эта ошибка была вызвана редактированием параметров shared_buffers и work_mem в файле postgresql.conf до слишком высоких значений, их понижение решило проблему

1

Решил мою проблему. Я жестко закодировал путь для hba_file в postgresql.conf . Это работает. По какой-то причине в Windows есть префикс имени пути, который приводит к поиску по неправильному пути файла pg_hba. conf . Теперь это работает, и я могу запустить службу и открыть базу данных.

1

Наткнулся на ту же ошибку с Postgresql-9.4 в Windows-10.

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

  • Удалите файл postmaster.pid в каталоге %POSTGRESQL-HOME%/9.4/Data/
  • Укажите правильный синтаксис (или ссылки) в postgresql.conf и pg_hba.conf файлы
  • Перезапустите службу Postgresql

Проверьте журналы ошибок:

\data\log

В моем случае это была простая синтаксическая ошибка после добавления conf в pg_hba.conf

Для меня убийство процесса, удаление файла pid, перезагрузка и т. д. не помогли.
Что сработало:

1- Проверьте статус:
Измените каталог на папку установки и зайдите в корзину . Путь такой:
C:\Program Files\PostgreSQL\12\bin
используйте pg_ctl для получения статуса:
C:\Program Files\PostgreSQL\12\bin>pg_ctl.exe -D "C: \Program Files\PostgreSQL\12\data" статус
Здесь указан путь к папке data .
Результат был:
pg_ctl: сервер работает (PID: 7560)
Хотя служба не работала на странице службы Windows.

2- Стоп:
C:\Program Files\PostgreSQL\12\bin>pg_ctl.exe -D "C:\Program Files\PostgreSQL\12\data" стоп

3- Начало:
Теперь вы сможете запустить postgres со страницы службы Windows или:
C:\Program Files\PostgreSQL\12\bin>pg_ctl.exe -D "C:\Program Files\PostgreSQL\12\data" start

Обнаружена эта ошибка на postgresql-x64-10 со следующей записью в средстве просмотра событий Windows (Журналы Windows -> Приложение):

  • Информация: Ожидание запуска сервера. .
  • Ошибка: postgres: не удалось получить доступ к каталогу «…/PostgreSQL_10_data»: нет такого файла или каталога
  • Ошибка. Запустите initdb или pg_basebackup, чтобы инициализировать каталог данных PostgreSQL.
  • Ошибка: истекло время ожидания запуска сервера

В данном случае проблема заключалась в том, что каталог данных, указанный в ошибке, находился на переносном диске, который был отключен. Как только диск был снова подключен к системе, служба postgres запустилась нормально.

Измените учетную запись для входа в систему, чтобы начать процесс
Локальная системная учетная запись

У меня удаление файлов не помогло.
Но перезапуск машины после изменения пользователя входа в систему postgres на «локальную систему» ​​сработал.

Это также может произойти, если у вас установлены 2 версии (скажем, 10 и 11).
Таким образом, могут быть некоторые ситуации, когда вы хотите запустить 11, но 10 уже запущен и работает.

Итак, что вы хотите сделать, это остановить 10 и попытаться запустить 11.