Я не уверен, возникла ли моя проблема после обновления. Я использую 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
Основываясь на двух файлах журнала (и описании вверху вашего вопроса, которое я пропустил, когда прочитал это прошлой ночью: x), ваш сценарий запуска содержит ошибку, из-за которой он думает, что Postgres не запустился, хотя на самом деле запущен и работает (database system is ready to accept connections
).
Если бы мне пришлось угадывать, я бы сказал, что ошибка в pg_ctlcluster
, который из вашего журнала загрузки выше, похоже, возвращает 1
(«Другие сбои»), даже если сервер БД работает. Не видя pg_ctlcluster
script Я не могу сказать вам, в чем проблема, но поскольку этот сценарий предоставлен людьми Debian, мой ответ будет таким же: Сообщите об этом как об ошибке в Debian, чтобы они могли исправить свой сценарий, чтобы правильно определить, был ли Postgres успешно запущен или не.
(Извините, мой ответ не более полезен, но pg_ctlcluster
это Debianism. Даже если мы посмотрим на сценарий, выясним, что не так, и расскажем, как это исправить, менеджер пакетов перезапишет его в следующий раз, когда Debian отправит обновление Postgres, и он снова начнет сообщать о ложных сбоях ...)