Errore del pacchetto di avvio incompleto di Postgres


13

Sto tentando di installare Postgres 9.3 su Ubuntu 14.04 e sto ricevendo un errore fastidioso all'avvio. Ecco cosa sto vedendo:

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

Quindi ho controllato il file di registro con questo output:

 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;

"Il pacchetto di avvio incompleto" sembra essere il colpevole, ma ho difficoltà a trovare informazioni là fuori su ciò che potrebbe succedere, quindi ho pensato di chiedere. Grazie in anticipo.

Risposte:


15

Ci sono 3 articoli differenti in questa domanda:

  • Il pacchetto di avvio incompleto che si verifica all'avvio del server è insignificante, è possibile ignorarlo. Per ulteriori informazioni, consultare la guida del pacchetto di avvio incompleta necessaria (nella mailing list generale pgsql).

  • errore di sintassi in corrispondenza o in prossimità di "exit" nel carattere 1 significa che un client emesso exitcome se fosse un'istruzione SQL.

  • L' errore non può essere eseguito durante l'emissione service postgresql restartsembra un grave problema di installazione ma è contraddetto dalla voce di registro database system is ready to accept connectionsche significa che il server è stato avviato correttamente.


La tua risposta "sembra un grave problema di installazione" mi ha spinto a fare qualche ricerca in più su come eliminare e reinstallare Postgres. Ho trovato questo articolo utile per rimuovere ogni traccia di Postgres prima della reinstallazione e ha funzionato alla grande.
Andrewniesen,

8
una delle possibili cause del "pacchetto di avvio incompleto" è quando viene stabilita una connessione TCP alla porta postgresql 5432 e immediatamente chiusa. Ciò può accadere quando un programma di monitoraggio è configurato per controllare la porta, ma non per eseguire un comando SQL.
Tom H,

@TomH ben notato, mi ha morso oggi. Esiste un altro modo per verificare che il database accetti le connessioni? MySQL hamysqladmin --wait=30 ping
Yarek T,

1
@YarekT: pg_isready - verifica lo stato della connessione di un server PostgreSQL
Daniel Vérité,

-1

Forse i tuoi iptables stanno rilasciando pacchetti sulla porta 5432. Valuta di
aggiungere la seguente regola ai tuoi iptables:

# sudo iptables -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.