PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 14/09/2020 09:29:24

PmGs7
Membre

[inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Bonjour à tous,
Le message "[inconnu]@[inconnu] LOG:  paquet de démarrage incomplet" apparaît en tant que dernière ligne de log suite à un démarrage du service.
Un lecteur peut-il expliquer son origine et conséquence?
Merci d'avance.

Hors ligne

#2 14/09/2020 10:13:20

LudovicG
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Bonjour,

Je ne m'y connais pas mais cela ressemble à ce cas là : https://forums.postgresql.fr/viewtopic.php?id=5500
Un "test de vie" (sorte de ping) qui ne ferme pas (ou mal) sa connexion.

Est-ce que cette ligne se répète dans le temps dans les logs ensuite ?


Ludovic

Hors ligne

#3 14/09/2020 11:03:23

PmGs7
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

J'ai vu cette explication, le message ne se répète pas, ce serait donc bénin et lié à qqc qui ne serait pas encore prêt durant la phase de démarrage.
Ceci dit, le message est ambigu et laisse entendre qu'il y a qqc de plus grave, ce serait bien de trouver un moyen de l'éliminer ou lle faire suivre par un autre validant le démarrage ok  des logs s'il n'y a pas de pb.
En l’occurrence, j'ai changé qq paramètres de conf de mes logs et cela n'a pas, initialement, fonctionné comme je le voulais, j'ai imaginé que cela pouvait venir de là, mais en fait c'était simplement un mauvais paramétrage.

Hors ligne

#4 14/09/2020 11:28:40

LudovicG
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Je me demande si par "démarrage", le LOG ne parlerait pas du "démarrage de la connexion", pas du "démarrage du serveur".

Du coup, je n'ai pas bien compris votre dernier message. Problème résolu ou pas ?


Ludovic

Hors ligne

#5 14/09/2020 11:57:00

PmGs7
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

I s'agit bien du démarrage du seveur et le problème n'est pas résolu même s'il est bénin.

Hors ligne

#6 14/09/2020 14:49:19

gleu
Administrateur

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Le "paquet de démarrage" concerne une demande de connexion qui ne s'est pas terminée correctement. C'est généralement un outil réseau (par exemple un outil qui vérifie quel port est ouvert sur une machine) qui déclenche ce genre de messages. Rien d'inquiétant, sauf si vous avez un méchant hacker qui cherche une faille pour se connecter à votre serveur smile


Guillaume.

Hors ligne

#7 14/09/2020 15:45:00

dverite
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Certains scripts de démarrage produisent cette erreur systématiquement en testant si le serveur est bien accessible.
Par exemple sur Debian/Ubuntu la commande pg_ctlcluster appelée par le script systemd va appeler cette fonction
(en Perl) après avoir lancé le serveur:

# Check whether a postgres server is running at the specified port.
# Arguments: <version> <cluster> <port>
sub cluster_port_running {
    die "port_running: invalid port $_[2]" if $_[2] !~ /\d+/;
    my $socketdir = get_cluster_socketdir $_[0], $_[1];
    my $socketpath = "$socketdir/.s.PGSQL.$_[2]";
    return 0 unless -S $socketpath;

    socket(SRV, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!";
    my $running = connect(SRV, sockaddr_un($socketpath));
    close SRV;
    return $running ? 1 : 0;
}

Cette fonction tente d'ouvrir une connexion et si ça marche, la ferme immédiatement, le but étant juste de savoir si ça répond ou pas. Que postgres logge l'erreur "paquet de démarrage incomplet" est un effet de bord de ce test.

Hors ligne

#8 14/09/2020 23:49:28

PmGs7
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Merci dverite pour cette réponse détaillée.
Je suis sous Debian , je trouver bien pg_ctlcluster par contre je n'ai pas trouvé où ce script est appelé. En fait je ne comprends pas ce que j'ai trouvé, à savoir que postgresql.service lance /bin/true!
As-tu ou un autre lecteur une explication sur le paramétrage du lancement de postgresql sous debian/ubuntu.

Hors ligne

#9 15/09/2020 15:54:26

dverite
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Le lien entre systemd et pg_ctlcluster est exprimé dans le fichier /lib/systemd/system/postgresql@.service:

[Unit]
Description=PostgreSQL Cluster %i
AssertPathExists=/etc/postgresql/%I/postgresql.conf
RequiresMountsFor=/etc/postgresql/%I /var/lib/postgresql/%I
PartOf=postgresql.service
ReloadPropagatedFrom=postgresql.service
Before=postgresql.service
# stop server before networking goes down on shutdown
After=network.target

[Service]
Type=forking
# -: ignore startup failure (recovery might take arbitrarily long)
# the actual pg_ctl timeout is configured in pg_ctl.conf
ExecStart=-/usr/bin/pg_ctlcluster --skip-systemctl-redirect %i start
# 0 is the same as infinity, but "infinity" needs systemd 229
TimeoutStartSec=0
ExecStop=/usr/bin/pg_ctlcluster --skip-systemctl-redirect -m fast %i stop
TimeoutStopSec=1h
ExecReload=/usr/bin/pg_ctlcluster --skip-systemctl-redirect %i reload
PIDFile=/run/postgresql/%i.pid
SyslogIdentifier=postgresql@%i
# prevent OOM killer from choosing the postmaster (individual backends will
# reset the score to 0)
OOMScoreAdjust=-900
# restarting automatically will prevent "pg_ctlcluster ... stop" from working,
# so we disable it here. Also, the postmaster will restart by itself on most
# problems anyway, so it is questionable if one wants to enable external
# automatic restarts.
#Restart=on-failure
# (This should make pg_ctlcluster stop work, but doesn't:)
#RestartPreventExitStatus=SIGINT SIGTERM

[Install]
WantedBy=multi-user.target

Hors ligne

#10 15/09/2020 19:13:29

PmGs7
Membre

Re : [inconnu]@[inconnu] LOG: paquet de démarrage incomplet

Merci beaucoup Daniel, c'était un peu confus,  ta réponse complétée par ce lien https://unix.stackexchange.com/question … s-to-start
explique bien les choses.

Hors ligne

Pied de page des forums