Постгреси неповна помилка запуску пакету


13

Я намагаюся встановити Postgres 9.3 на Ubuntu 14.04, і я отримую неоднозначну помилку при запуску. Ось що я бачу:

$ sudo service postgresql restart
* Restarting PostgreSQL 9.3 database server
* Error: could not exec /usr/lib/postgresql/9.3/bin/pg_ctl /usr/lib/postgresql/9.3/bin/pg_ctl start -D /var/lib/postgresql/9.3/main -l /var/log/postgresql/postgresql-9.3-main.log -s -o  -c config_file="/etc/postgresql/9.3/main/postgresql.conf" : [fail]

Тож я перевірив файл журналу з цим висновком:

 2015-01-05 21:50:05 EST LOG:  database system was shut down at 2015-01-05 21:50:03 EST
 2015-01-05 21:50:05 EST LOG:  database system is ready to accept connections
 2015-01-05 21:50:05 EST LOG:  autovacuum launcher started
 2015-01-05 21:50:06 EST LOG:  incomplete startup packet
 2015-01-05 21:51:22 EST ERROR:  syntax error at or near "exit" at character 1
 2015-01-05 21:51:22 EST STATEMENT:  exit;

"Неповний пакет запуску", здається, є винуватцем, але у мене виникають проблеми з пошуку інформації про те, що може відбуватися, тому я подумав, що запитаю. Заздалегідь спасибі.

Відповіді:


15

У цьому питанні є 3 різні пункти:

  • Неповний пакет запуску, що виникає при запуску сервера, не має значення, ви можете його проігнорувати. Прочитайте неповну допомогу при запуску пакету (у загальному списку розсилки pgsql).

  • Помилка синтаксису при або біля "виходу" у символі 1 означає, що клієнт видав exitтак, ніби це був оператор SQL.

  • Не вдалося виконати помилку при видачі service postgresql restartвиглядає як серйозна проблема встановлення, але це суперечить запису журналу, що database system is ready to accept connectionsозначає, що сервер запустився просто чудово.


Ваша відповідь "виглядає як серйозна проблема з установкою" спонукала мене ще кілька досліджень щодо того, як повністю видалити Postgres та перевстановити. Я знайшов цю статтю, яка була корисною для видалення всіх слідів Postgres перед перевстановленням і працювала чудово.
andrewniesen

8
одна з можливих причин "Неповний пакет запуску" - це коли TCP-з'єднання здійснюється до порту 5432 postgresql і негайно закривається. Це може статися, коли програма моніторингу налаштована для перевірки порту, але не для запуску команди SQL.
Том Н

Чудово помічений @TomH, що мене сьогодні покусав. Чи є інший спосіб перевірити, чи приймає база даних з'єднання? MySQL маєmysqladmin --wait=30 ping
Yarek T

1
@YarekT: pg_isready - перевірити стан підключення сервера PostgreSQL
Daniel Vérité

-1

Можливо, ваші iptables скидають пакети на порт 5432.
Подумайте про додавання наступного правила до своїх iptables:

# sudo iptables -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.