PostgreSQL не работает при загрузке, но работает нормально после входа в систему
Я не уверен, что моя проблема началась после обновления. Я использую Debian Squeeze и postgresql-8.4(8.4.12-0squeeze1). При запуске или после перезагрузки я заметил, что моя служба баз данных PostgreSQL не работает. Однако, когда я войду в систему с правами root, служба уже запущена, и я могу выполнить /etc/init.d/postgresql restart в консоли, и она работает нормально. Что может вызвать это сообщение об ошибке?
вот мой лог из /var/log/boot
...
Tue Jul 24 09:40:23 2012: + pg_ctlcluster 8.4 main start
Tue Jul 24 09:41:04 2012: + ERRMSG=The PostgreSQL server failed to start. Please check the log output:
Tue Jul 24 09:41:04 2012: + res=1
Tue Jul 24 09:41:04 2012: + set -e
Tue Jul 24 09:41:04 2012: + [ 1 -eq 0 ]
Tue Jul 24 09:41:04 2012: + [ 1 -eq 2 ]
Tue Jul 24 09:41:04 2012: + status=1
Tue Jul 24 09:41:04 2012: + [ 1 -ne 0 -a -n The PostgreSQL server failed to start. Please check the log output: ]
Tue Jul 24 09:41:04 2012: + log_failure_msg The PostgreSQL server failed to start. Please check the log output:
Tue Jul 24 09:41:04 2012: + [ -n The PostgreSQL server failed to start. Please check the log output: ]
Tue Jul 24 09:41:04 2012: + log_begin_msg The PostgreSQL server failed to start. Please check the log output: ...
Tue Jul 24 09:41:04 2012: + [ -z The ]
Tue Jul 24 09:41:04 2012: + echo -n The PostgreSQL server failed to start. Please check the log output: ...
Tue Jul 24 09:41:04 2012: The PostgreSQL server failed to start. Please check the log output: ...+ log_end_msg 1
Tue Jul 24 09:41:04 2012: + [ -z 1 ]
Tue Jul 24 09:41:04 2012: + retval=1
Tue Jul 24 09:41:04 2012: + log_end_msg_pre 1
Tue Jul 24 09:41:04 2012: + :
Tue Jul 24 09:41:04 2012: + log_use_fancy_output
Tue Jul 24 09:41:04 2012: + TPUT=/usr/bin/tput
Tue Jul 24 09:41:04 2012: + EXPR=/usr/bin/expr
Tue Jul 24 09:41:04 2012: + [ -t 1 ]
Tue Jul 24 09:41:04 2012: + [ xlinux != x ]
Tue Jul 24 09:41:04 2012: + [ xlinux != xdumb ]
Tue Jul 24 09:41:04 2012: + [ -x /usr/bin/tput ]
Tue Jul 24 09:41:04 2012: + [ -x /usr/bin/expr ]
Tue Jul 24 09:41:04 2012: + /usr/bin/tput hpa 60
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 1
Tue Jul 24 09:41:04 2012: + [ -z ]
Tue Jul 24 09:41:04 2012: + FANCYTTY=1
Tue Jul 24 09:41:04 2012: + true
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 1
Tue Jul 24 09:41:04 2012: + RED=^[[31m
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 3
Tue Jul 24 09:41:04 2012: + YELLOW=^[[33m
Tue Jul 24 09:41:04 2012: + /usr/bin/tput op
Tue Jul 24 09:41:04 2012: + NORMAL=^[[39;49m
Tue Jul 24 09:41:04 2012: + [ 1 -eq 0 ]
Tue Jul 24 09:41:04 2012: + [ 1 -eq 255 ]
Tue Jul 24 09:41:04 2012: + /bin/echo -e ^[[31mfailed!^[[39;49m
Tue Jul 24 09:41:04 2012: ^[[31mfailed!^[[39;49m
Tue Jul 24 09:41:04 2012: + log_end_msg_post 1
Tue Jul 24 09:41:04 2012: + :
Tue Jul 24 09:41:04 2012: + return 1
Tue Jul 24 09:41:04 2012: + true
Tue Jul 24 09:41:04 2012: + log_end_msg 1
Tue Jul 24 09:41:04 2012: + [ -z 1 ]
Tue Jul 24 09:41:04 2012: + retval=1
Tue Jul 24 09:41:04 2012: + log_end_msg_pre 1
Tue Jul 24 09:41:04 2012: + :
Tue Jul 24 09:41:04 2012: + log_use_fancy_output
Tue Jul 24 09:41:04 2012: + TPUT=/usr/bin/tput
Tue Jul 24 09:41:04 2012: + EXPR=/usr/bin/expr
Tue Jul 24 09:41:04 2012: + [ -t 1 ]
Tue Jul 24 09:41:04 2012: + [ xlinux != x ]
Tue Jul 24 09:41:04 2012: + [ xlinux != xdumb ]
Tue Jul 24 09:41:04 2012: + [ -x /usr/bin/tput ]
Tue Jul 24 09:41:04 2012: + [ -x /usr/bin/expr ]
Tue Jul 24 09:41:04 2012: + /usr/bin/tput hpa 60
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 1
Tue Jul 24 09:41:04 2012: + [ -z 1 ]
Tue Jul 24 09:41:04 2012: + true
Tue Jul 24 09:41:04 2012: + true
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 1
Tue Jul 24 09:41:04 2012: + RED=^[[31m
Tue Jul 24 09:41:04 2012: + /usr/bin/tput setaf 3
Tue Jul 24 09:41:04 2012: + YELLOW=^[[33m
Tue Jul 24 09:41:04 2012: + /usr/bin/tput op
Tue Jul 24 09:41:04 2012: + NORMAL=^[[39;49m
Tue Jul 24 09:41:04 2012: + [ 1 -eq 0 ]
Tue Jul 24 09:41:04 2012: + [ 1 -eq 255 ]
Tue Jul 24 09:41:04 2012: + /bin/echo -e ^[[31mfailed!^[[39;49m
Tue Jul 24 09:41:04 2012: ^[[31mfailed!^[[39;49m
Tue Jul 24 09:41:04 2012: + log_end_msg_post 1
Tue Jul 24 09:41:04 2012: + :
Tue Jul 24 09:41:04 2012: + return 1
вот журнал из /var/log/postgresql/postgresql-8.4-main.log
2012-07-25 10:40:41 CEST LOG: could not receive data from client: Connection reset by peer
2012-07-25 10:40:41 CEST LOG: unexpected EOF on client connection
2012-07-25 10:45:46 CEST LOG: incomplete startup packet
2012-07-25 10:45:46 CEST LOG: received fast shutdown request
2012-07-25 10:45:46 CEST LOG: aborting any active transactions
2012-07-25 10:45:46 CEST LOG: autovacuum launcher shutting down
2012-07-25 10:45:46 CEST LOG: shutting down
2012-07-25 10:45:46 CEST LOG: database system is shut down
2012-07-25 10:46:18 CEST LOG: database system was shut down at 2012-07-25 10:45:46 CEST
2012-07-25 10:48:45 CEST LOG: autovacuum launcher started
2012-07-25 10:48:45 CEST LOG: database system is ready to accept connections
1 ответ
Основываясь на двух файлах журнала (и описании в верхней части вашего вопроса, которое я пропустил, когда читал вчера вечером:x), ваш стартовый скрипт содержит ошибку, из-за которой он думает, что Postgres не запустился, когда он на самом деле и работает (database system is ready to accept connections
).
Если бы мне пришлось угадывать, я бы сказал, что ошибка в pg_ctlcluster
, который из вашего загрузочного журнала выше, кажется, возвращается 1
("Другие ошибки"), хотя сервер БД работает. Не видя pg_ctlcluster
Сценарий Я не могу сказать вам, в чем проблема, но так как этот сценарий предоставляется людьми Debian, мой ответ будет таким же: сообщить об этом как об ошибке в Debian, чтобы они могли исправить свой сценарий, чтобы правильно определить, был ли Postgres успешно запущен или нет.
(Извините, мой ответ не более полезен, но pg_ctlcluster
это дебианизм Даже если мы посмотрим на сценарий, выясним, что не так, и расскажем, как его исправить, менеджер пакетов перезапишет его в следующий раз, когда Debian выпустит обновление Postgres и снова начнет сообщать о ложных сбоях...)