Не работает postgresql linux

postgres запускается, но не запускается

Знаю, что уже замылили эту тему, но все, что я нашел не помогло или не соответствует моей ситуации, так что прошу помощи знатоков.

на что получаю сообщение, что все ok

при запуске ошибок не выдает но и не запускается.. как так? при этом

Active: active (exited) since Wed 2017-11-08 10:32:43 MSK; 26min ago

а чуть подробнее??

could not connect to server: Connection refused

А ты роли добавил?

Что тебе нужно подробнее? здесь и так все ясно написано

ну, видимо, мне не ясно, раз я спрашиваю. Логично же.

я не понимаю, что ему нужно от меня?

postgresql.service — запускает все настроенные инстансы постгреса в убунте, для того чтобы запустить нужный нужно стартовать postgresql- .service.

createuser —interactive сделай, добавь пользователя дай ему нужную роль, зайди от него.

В соединении отказано, всё работает, просто у тебя нет доступа

ну, видимо, мне не ясно, раз я спрашиваю. Логично же.

Ну, кроме вчитаться в текст я тебе больше ничего предложить не могу

В соединении отказано, всё работает, просто у тебя нет доступа

Это не значит, что нет доступа, это значит, что там попросту некому это соединение принимать.

вот жесть-то, и советчики такие же.

Я и говорю что ролей нет

Ну так насоветуй )

Ты бы внимательно прочитал на что отвечаешь.

Там не то, что ролей, там и самого процесса постгресса нет

Что в pgstartup.log?

мне не добавить роль

Тьфу блин, ай нуу, пойду кофе пить и просыпаться 😀

у меня такого нет

Значит есть /var/lib/postgresql/версия/pg_log/*.log

Покажи systemctl list-units|grep postgres

Там должен быть сервис вида postgresql@9.5-main.service. Вот его и запускаешь, systemctl start postgresql@9.5-main.service.

Если нет, то смотришь в /var/lib/postgres, есть ли там что-нибудь. Если там пусто, значит у тебя нет базы, и ее нужно создать.

Точно нет? Показывай /etc/init.d/postgresql — посмотрим, что там в убунтушном инит-скрипте накручено.

Какой инит-скрипт, у него systemd.

У убунты логи постгреса в /var/log/postgresql. Смотри почему он фейлится. Ну и можешь journalctl -e -u postgresql@9.5-main.service глянуть.

смотри во время запуска/перезапуска сервиса
tail -F /var/log/syslog

ОтЭтот пунктец: Step # 2: Allow communication over TCP/IP

)) А анон в теме, да. Или шарит по английски 😉

я не понимаю, что ему нужно от меня?

Он должен (psql) через чёта общаться. SocketЫ там, порты всякие.

See «systemctl status postgresql@9.5-main.service» and «journalctl -xe» for details.

Эти команды что пишут?

в логе ппусто, а в журнале:

В конфиге что-нибудь менял?

Попробуй запустить так

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

И после этого в логах ничего нет?

Место-то на сервер есть? df -h что показывает?

серьезно нет места.

это не нормально.

да действительно проблема была в свободном месте.

Спасибо всем за помощь!

Такая же проблема, но со свободным местом проблем нет. При этом: — вся эта ситуация происходит только после перезапуска самой ОС (Ubuntu Server 16.04 32bit); — netstat -tulpn(-pant) | grep postgres ничего не выводит — пусто; — psql -U postgres -h ip-сервера postgres psql: не удалось подключиться к серверу: Connection refused Он действительно работает по адресу «ip-сервера» и принимает TCP-соединения (порт 5432)? — где «ip-сервера» — адрес сервера с БД;

Читайте также:  Получение пенсии если никогда не работал

— если после старта ОС немного подождать и просто перезапустить демон postgresql (service postgresql stop/start), то проблема уходит. Правда, не всегда после первого рестарта. Иногда нужно несколько раз перезапустить демон.

Никогда раньше такого не видел. Куда копать ума не приложу. Перерыл интернет, — наткнулся сюда. Хэлп.

Источник

После обновления системы не стартует postgresql

Добрый день, проблема такая, обновил Ubuntu с 14.04 до 16.04, как всегда все хороше, НО! за одно обновился и postgresql с 9.5.x до 9.5.y и перестал запускаться, точнее валится при запуске, логи: /etc/syslog

Система пытается запустить PostgreSQL, но не вкладывается в таймаут (судя по всему 30 сек.) и валится. Вопрос, как увеличить таймаут запуска службы, на пример в MySQL есть опция

может и в PostgreSQL есть что то подобное?

1 ответ 1

согласно написанному здесь по поводу аналогичной ошибки, надо заменить -w на -W в «сервисном» файле /usr/lib/systemd/system/postgresql-9.5.service в строке:

после чего перезагрузить systemd:

и запустить postgresql:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками ubuntu postgresql или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.15.40479

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

PostgreSQL: почему psql не может подключиться к серверу?

Я набрал psql и получил следующее:

Я использовал sudo netstat -nlp | grep 5432 , чтобы увидеть статус, но ничего не показалось. И я поискал в Интернете, кто-то сказал мне изменить pg_hba.conf , но я не могу locate этот файл. И я тоже пробовал эту команду sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432 . Не может работать.

22 ответа

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

Шаг 1. Убедитесь, что база данных работает

Команда может отличаться в зависимости от вашей операционной системы. Но в большинстве систем * ix будет работать следующее: он будет искать postgres среди всех запущенных процессов

В моей системе Mac OSX это выплевывает

Последний столбец показывает команду, используемую для запуска сервера, и параметры.

Вы можете просмотреть все варианты, доступные для запуска сервера postgres, используя следующее.

Оттуда вы увидите, что варианты -D и -r — это соответственно datadir и logfilename .

Шаг 2. Если служба postgres запущена

Используйте find для поиска местоположения сокета, который должен быть где-нибудь в /tmp

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

Затем попробуйте подключиться через psql, явно указав расположение этого файла, например.

Шаг 3. Если служба запущена, но вы не видите сокет

Если вы не можете найти сокет, но видите, что служба запущена, убедитесь, что в файле pg_hba.conf разрешены локальные сокеты.

Перейдите к datadir , и вы должны найти файл pg_hba.conf .

По умолчанию в нижней части файла вы должны увидеть следующие строки:

Читайте также:  Samsung планшет не работает клавиатура

Если вы его не видите, вы можете изменить файл и перезапустить службу postgres.

В моем случае я увидел эту ошибку, и postgres не запущен.

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

Решением было создать папку /etc/postgres//main

А затем создайте кластер с помощью:

После этого, просто перезапустив службу postgresql, все должно работать.

У меня возникла эта проблема при работе с PostgreSQL в Ubuntu 18.04.

Я проверил свой статус PostgreSQL и понял, что он работает нормально, используя:

Я также попытался перезапустить сервер PotgreSQL на машине, используя:

Но проблема не исчезла:

После ответа Noushad я сделал следующее :

Перечислите все кластеры Postgres, запущенные на вашем устройстве:

Это дало мне этот вывод красного цвета, показывая, что все они не работают, а статус также показывает не работает :

Перезапустите pg_ctlcluster для одного из кластеров серверов. Для меня я перезапустил PG 10 :

Однако он вызвал ошибку ниже, и та же ошибка возникла, когда я попытался перезапустить другие кластеры PG:

Проверьте журнал на наличие ошибок, в данном случае мой — PG 10 :

Я увидел следующую ошибку:

Это было вызвано тем, что я внес изменения в права доступа к файлам для каталога данных PostgreSQL.

Я исправил это, выполнив команду ниже. Я выполнил команду для 3 кластеров PG на своей машине:

После чего я перезапустил каждый из кластеров PG:

И вот, наконец, я снова проверил работоспособность кластеров:

На этот раз все снова было хорошо, так как статус показал онлайн :

Надеюсь, это поможет

В моем случае служба работала, но кластер не работал, и psql не запускался. Мои файлы конфигурации выглядели идеально, но они продолжали выдавать ошибки конфигурации и, казалось, игнорировали внесенные мной изменения.

Оказывается, всякий раз, когда вы используете синтаксис ALTER SYSTEM SET . , PostgreSQL записывает в файл с именем postgresql.auto.conf . Этот файл читается в дополнение к обычным файлам postgresql.conf и pg_hba.conf . В моем дистрибутиве Ubuntu (18.04) они находятся в разных папках (!):
— pg_hba.conf и postgresql.conf оба находятся в /etc/postgresql/12/main
— Автоматически созданный файл: /var/lib/postgresql/12/main/postgresql.auto.conf

Я пытался изменить конфигурацию с помощью ALTER SYSTEM SET listen_addresses = , но допустил ошибку, в результате чего возникла некорректная конфигурация «призрак», которую я не смог найти. Как только я стер оскорбительную строку в postgresql.auto.conf , он все исправил.

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

Убедитесь, что Postgres работает, используя:

Проверьте каталог данных и postgresql.conf .

В моем случае каталог данных в -D отличался от каталога в postgresql.conf

Итак, я изменил каталог данных в postgresql.conf , и это сработало.

У меня сработал перезапуск экземпляра. Кроме того, как упоминалось в другом сообщении, psql -h ‘/ tmp’ также работал до перезапуска. Но после перезапуска psql сразу начал работать. Так что, вероятно, я думаю о некоторых проблемах с владением файлами, которые были сброшены при перезапуске.

У меня была аналогичная проблема, и проблема была в файле конфигурации pg_hba.conf. Ранее я внес некоторые изменения, из-за которых сервер отказывался от ошибок при попытке его запуска. Комментирование лишних дополнений решило проблему.

У меня такая же проблема. Вроде нет сокета, когда нет кластера.

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

Это может вызвать что угодно, например, моя проблема была вызвана опечаткой в ​​файлах конфигурации. Некоторые люди говорят, что это вызвано файлами сертификатов, другая группа считает, что причиной этого являются несогласованные местные жители.

Если вы не можете найти решение своей проблемы, удалите postgres и переустановите его. Это лучшее решение.

Во время новой установки postgresql. По умолчанию имя пользователя и пароль назначаются как «postgres». Эта СУБД предоставляет возможность добавить роль для нового пользователя и создать базу данных. Если вы получаете такие ошибки:

Читайте также:  Не работает usb transcend

логин по умолчанию логин:

# sudo -i -u postgres

ype psql для интерактивной подсказки

Чтобы выйти из режима быстрого использования

Чтобы создать новую роль пользователя

Теперь вы находитесь в интерактивной оболочке psql. Наслаждаться. Не забудьте войти под своим именем пользователя и ввести psql для оболочки.

Итак, для меня и моих друзей, работающих над приложением Node.js (с Postgres и Sequelize), нам пришлось

brew install postgresql (у одного из нас отсутствовал postgres, у одного — нет, но мы получали то же сообщение об ошибке, что и указано выше)

brew services start postgresql **** (используйте Homebrew для запуска postgres)

Просто хочу сделать небольшое дополнение: если ваш экземпляр жалуется на сокет, вы также можете проверить unix_socket_directories в файле /data/postgresql.conf , который мог быть установлен в /tmp , например, если вы использовали сторонний дистрибутив. Вы можете изменить его на /var/run/postgresql и перезапустить службу. Для этого также может потребоваться создать каталог postgresql в /var/run и subsys/postgresql-9.6 в /var/lock , если они еще не существуют (работало для меня с postgresql 9.6).

Ошибка означает, что сервер Postgres не запущен. Попробуйте запустить его:

Убедитесь, что сервер запускается при загрузке:

Моя проблема с этим сообщением об ошибке заключалась в неправильных разрешениях для сертификатов ключей и pem, которыми я манипулировал. Мне очень помогло: /var/log/postgresql/postgresql-9.5-main.log, где находятся все ошибки.

Краткое руководство по debian для удаленного доступа к базе данных postgres на сервере из клиента psql: (измененная конфигурация документирована в файлах):

  1. отредактируйте /etc/postgresql/10/main/postgresql.conf с помощью listen_address *
  2. отредактируйте /etc/postgresql/10/main/pg_hba.conf и добавьте строку в конце с помощью host all all 0/0 md5
  3. создать роль входа postgres=# CREATE ROLE remoteuser LOGIN WITH PASSWORD ‘foo’

sudo /etc/init.d/postgresql restart изменения вступают в силу

войдите со стороны клиента с помощью psql —host=ipofserver —port=5432 —username=remoteuser —password —dbname=mydb

  • в интерактивном режиме запрашивается пароль, в данном случае это foo
  • Я решил эту проблему, проверив свою файловую систему, диск был полностью заполнен, поэтому база данных не запускалась

    Подключения к сокету домена Unix «/var/run/postgresql/.s.PGSQL.5432» ?

    Я пробовал несколько способов устранения неполадок, пока не проверил использование своего диска и не обнаружил, что он заполнен, используется 100%,

    Решено! Хотя я не знаю, что случилось, но я просто удалил все и переустановил. Это команда, которую я использовал, чтобы удалить sudo apt-get —purge remove postgresql\* и dpkg -l | grep postgres . Последний — найти все пакеты, если он не чистый.

    Я столкнулся с той же проблемой и

    Это сработало для меня.

    Пару раз сталкивался с подобной проблемой. Обычно я просто выполняю новую установку PostgreSQL, следуя этому tutorial, и это решает проблему за счет потери данных.

    Я был полон решимости получить настоящее исправление сегодня. Перезапуск PostgreSQL разрешил это на ubuntu. sudo /etc/init.d/postgresql restart

    Если при запуске службы Postgres ошибок нет, выполните следующие действия.

    Шаг 1. Запуск pg_lsclusters отобразит список всех кластеров Postgres, работающих на вашем устройстве.

    Скорее всего, в вашем случае статус будет понижен. Если нет, перезапустите службу PostgreSQL

    Шаг 2: перезапустите pg_ctlcluster

    Шаг 3. Шаг 2 завершился неудачно, и возникла ошибка

    Если перезапуск pg_lsclusters не был успешным, он выдаст ошибку. Моя ошибка была (вы можете увидеть ошибки в журналах /var/log/postgresql/postgresql-9.6-main.log )

    Шаг 4: проверьте право собственности на postgres

    Убедитесь, что postgres является владельцем /var/lib/postgresql/version_no/main например: sudo chown postgres -R /var/lib/postgresql/9.6/main/

    Шаг 5. Убедитесь, что пользователь postgres принадлежит к группе пользователей ssl-cert.

    Это случилось со мной, и оказалось, что я ошибочно удалил пользователя Postgres из группы «ssl-cert». Запустите приведенный ниже код, чтобы исправить проблему с группой пользователей и исправить разрешения.

    Источник

    Оцените статью