Postgres unvollständiger Startpaketfehler

13

Ich versuche, Postgres 9.3 unter Ubuntu 14.04 zu installieren und erhalte beim Start einen lästigen Fehler. Folgendes sehe ich:

$ 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]

Also überprüfte ich die Logdatei mit dieser Ausgabe:

 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;

"Unvollständiges Startpaket" scheint der Schuldige zu sein, aber ich habe Probleme, Informationen darüber zu finden, was möglicherweise vor sich geht. Deshalb dachte ich, ich würde fragen. Danke im Voraus.

andrewniesen
quelle

Antworten:

15

Es gibt 3 verschiedene Artikel in dieser Frage:

  • Ein unvollständiges Startpaket, das beim Serverstart auftritt, ist unwichtig. Sie können es ignorieren. Lesen Unvollständige Startpaket Hilfe benötigt (in pgsql-general - Mailing-Liste) für mehr.

  • Syntaxfehler bei oder in der Nähe von "exit" bei Zeichen 1 bedeutet, dass ein Client exitwie eine SQL-Anweisung ausgegeben wurde.

  • Der Fehler konnte nicht ausgeführt werden, wenn er ausgegeben wird, service postgresql restartscheint ein ernstes Installationsproblem zu sein, aber der Protokolleintrag widerspricht ihm, was database system is ready to accept connectionsbedeutet, dass der Server einwandfrei gestartet wurde.

Daniel Vérité
quelle
Ihre Antwort "sieht nach einem ernsthaften Installationsproblem aus" veranlasste mich zu weiteren Nachforschungen darüber, wie Postgres vollständig gelöscht und neu installiert werden kann. Ich fand diesen Artikel, der hilfreich war, um jede Spur von Postgres vor der Neuinstallation zu entfernen, und er funktionierte hervorragend.
Andrewniesen
8
Eine der möglichen Ursachen für "Unvollständiges Startpaket" ist, wenn eine TCP-Verbindung zum postgresql-Port 5432 hergestellt und der sofort geschlossen wird. Dies kann passieren, wenn ein Überwachungsprogramm so konfiguriert ist, dass es den Port überprüft, aber keinen SQL-Befehl ausführt.
Tom H
Schön gesehen @TomH, das hat mich heute gebissen. Gibt es eine andere Möglichkeit, um zu überprüfen, ob die Datenbank Verbindungen akzeptiert? MySQL hatmysqladmin --wait=30 ping
Yarek T
1
@YarekT: pg_isready - Verbindungsstatus eines PostgreSQL-Servers überprüfen
Daniel Vérité
-1

Möglicherweise löschen Ihre iptables Pakete auf Port 5432. Erwägen
Sie, Ihren iptables die folgende Regel hinzuzufügen:

# sudo iptables -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
Sadads Dadssa
quelle