LINUX.ORG.RU

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

 


0

2

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

Итак, запускаю

/etc/init.d/postgresql start

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

проверяю

# sudo -u postgres psql template1
psql: could not connect to server: Connection refused
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?


ладушки... гугл в помощь... но не тут то было..
lsof | grep PGSQL

пусто

# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      717/nginx -g daemon
tcp        0      0 0.0.0.0:8069            0.0.0.0:*               LISTEN      514/python
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      717/nginx -g daemon
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      665/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      717/nginx -g daemon
tcp6       0      0 :::22                   :::*                    LISTEN      665/sshd
опять пусто и в логах пусто... во всех, что я смог найти..
# uname -a
Linux 82608.local 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@82608:/var/run/postgresql#

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

# /etc/init.d/postgresql status
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2017-11-08 10:32:43 MSK; 26min ago
  Process: 11432 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 11432 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/postgresql.service

Nov 08 10:32:43 82608.local systemd[1]: Starting PostgreSQL RDBMS...
Nov 08 10:32:43 82608.local systemd[1]: Started PostgreSQL RDBMS.
Nov 08 10:43:03 82608.local systemd[1]: Started PostgreSQL RDBMS.
Но и в HTOP процесса с PID 11432 нету... я ничего не понимаю

Ответ на: комментарий от Dron
# psql
psql: could not connect to server: Connection refused
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

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

darkozoid
() автор топика

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

Deleted
()
Последнее исправление: MyLittleLoli (всего исправлений: 1)
Ответ на: комментарий от darkozoid

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

Connection refused

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

Dron ★★★★★
()
Ответ на: комментарий от darkozoid

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

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

anonymous
()
Ответ на: комментарий от Dron

Connection refused

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

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

anonymous
()
Ответ на: комментарий от Dron

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

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

anonymous
()
Ответ на: комментарий от Dron

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

# psql
psql: could not connect to server: Connection refused
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

darkozoid
() автор топика
Ответ на: комментарий от Deleted

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

Dron ★★★★★
()

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

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

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

Deleted
()
Ответ на: комментарий от darkozoid

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

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

dexpl ★★★★★
()
Ответ на: комментарий от redgremlin
# cd /var/lib/postgresql/9.5; ls
main


/var/lib/postgresql/9.5/main# ls
base    pg_clog       pg_dynshmem  pg_multixact  pg_replslot  pg_snapshots  pg_stat_tmp  pg_tblspc    PG_VERSION  postgresql.auto.conf
global  pg_commit_ts  pg_logical   pg_notify     pg_serial    pg_stat       pg_subtrans  pg_twophase  pg_xlog     postmaster.opts

darkozoid
() автор топика
Ответ на: комментарий от Deleted
# systemctl list-units|grep postgres
  postgresql.service                                                          loaded active     exited           PostgreSQL RDBMS
● postgresql@9.5-main.service                                                 loaded failed     failed           PostgreSQL Cluster 9.5-main
  system-postgresql.slice                                                     loaded active     active           system-postgresql.slice

#  systemctl start postgresql@9.5-main.service
Job for postgresql@9.5-main.service failed because the control process exited with error code. See "systemctl status postgresql@9.5-main.service" and "journalctl -xe" for details.

darkozoid
() автор топика
Ответ на: комментарий от dexpl

#!/bin/sh
set -e

### BEGIN INIT INFO
# Provides:             postgresql
# Required-Start:       $local_fs $remote_fs $network $time
# Required-Stop:        $local_fs $remote_fs $network $time
# Should-Start:         $syslog
# Should-Stop:          $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    PostgreSQL RDBMS server
### END INIT INFO

# Setting environment variables for the postmaster here does not work; please
# set them in /etc/postgresql/<version>/<cluster>/environment instead.

[ -r /usr/share/postgresql-common/init.d-functions ] || exit 0

. /usr/share/postgresql-common/init.d-functions

# versions can be specified explicitly
if [ -n "$2" ]; then
    versions="$2 $3 $4 $5 $6 $7 $8 $9"
else
    get_versions
fi

case "$1" in
    start|stop|restart|reload)
        if [ "$1" = "start" ]; then
            create_socket_directory
        fi
        if [ -z "`pg_lsclusters -h`" ]; then
            log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
            exit 0
        fi
        for v in $versions; do
            $1 $v || EXIT=$?
        done
        exit ${EXIT:-0}
        ;;
    status)
        LS=`pg_lsclusters -h`
        # no clusters -> unknown status
        [ -n "$LS" ] || exit 4
        echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s\n", $1, $2, $3, $4)}; END {exit rc}'
        ;;
    force-reload)
        for v in $versions; do
            reload $v
        done
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
        exit 1
        ;;
esac

exit 0



darkozoid
() автор топика
Ответ на: комментарий от darkozoid

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

Deleted
()
Последнее исправление: MyLittleLoli (всего исправлений: 1)

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

Deleted
()
Ответ на: комментарий от Deleted

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

Deleted
()
Ответ на: комментарий от Anoxemian

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

Deleted
()
Ответ на: комментарий от darkozoid

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

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

Deleted
()
Ответ на: комментарий от darkozoid

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

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

monk ★★★★★
()
Ответ на: комментарий от Deleted

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


-- Logs begin at Wed 2017-11-08 12:05:11 MSK, end at Wed 2017-11-08 13:06:01 MSK. --
Nov 08 12:36:27 82608.local systemd[1]: Starting PostgreSQL Cluster 9.5-main...
Nov 08 12:36:58 82608.local postgresql@9.5-main[5913]: The PostgreSQL server failed to start. Please check the log output.
Nov 08 12:36:58 82608.local systemd[1]: postgresql@9.5-main.service: Control process exited, code=exited status=1
Nov 08 12:36:58 82608.local systemd[1]: Failed to start PostgreSQL Cluster 9.5-main.
Nov 08 12:36:58 82608.local systemd[1]: postgresql@9.5-main.service: Unit entered failed state.
Nov 08 12:36:58 82608.local systemd[1]: postgresql@9.5-main.service: Failed with result 'exit-code'.

darkozoid
() автор топика
Ответ на: комментарий от Deleted

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

# pg_ctlcluster --skip-systemctl-redirect 9.5 main start
The PostgreSQL server failed to start. Please check the log output.
darkozoid
() автор топика
Ответ на: комментарий от Deleted
# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            227M     0  227M   0% /dev
tmpfs            49M  7.5M   42M  16% /run
/dev/vda1       4.8G  4.8G     0 100% /
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/0

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

darkozoid
() автор топика
Ответ на: комментарий от Deleted

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

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

darkozoid
() автор топика
5 октября 2018 г.

Такая же проблема, но со свободным местом проблем нет. При этом: - вся эта ситуация происходит только после перезапуска самой ОС (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), то проблема уходит. Правда, не всегда после первого рестарта. Иногда нужно несколько раз перезапустить демон.

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

VirtUX
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.