banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#1 Fri 27 August 2021 10:16

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1044

Nouveau serveur PG : pb invite de commande Windows

Bonjour Ă  tous,

Je viens d'installer un serveur PG sur mon PC Windows 10 pour une utilisation locale.
J'ai eu un message d'erreur au moment de la création de la base de données (cluster), que je n'ai malheureusement pas noté (je pense en lien avec des droits utilisateur), mais j'ai ensuite réussi à créer une base avec

Code:

initdb.exe "D:\DATAPG"

J'ai ainsi réussi à connecter PgAdmin ou QGis, et créer mes premiÚres bases/schémas/tables big_smile

Par contre, je rencontre un comportement Ă©trange de l'invite de commande Windows quand je dĂ©marre le serveur. Peut-ĂȘtre est-ce normal, mais je ne crois pas que ça faisait cela sur mes prĂ©cĂ©dents PC/instances.
Quand je fais :

Code:

pg_ctl start -D "D:\DATAPG"

Le serveur démarre bien, et j'ai cette réponse :

Code:

U:\>pg_ctl start -D "D:\DATAPG"
en attente du démarrage du serveur....2021-08-27 10:09:19.299 CEST [11512] LOG:  démarrage de PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit
2021-08-27 10:09:19.308 CEST [11512] LOG:  en écoute sur IPv4, adresse « 127.0.0.1 », port 5432
2021-08-27 10:09:19.308 CEST [11512] LOG:  en écoute sur IPv6, adresse « ::1 », port 5432
2021-08-27 10:09:19.414 CEST [12836] LOG:  le systĂšme de bases de donnĂ©es a Ă©tĂ© arrĂȘtĂ© Ă  2021-08-27 10:09:01 CEST
2021-08-27 10:09:19.626 CEST [11512] LOG:  le systĂšme de bases de donnĂ©es est prĂȘt pour accepter les connexions
 effectué
serveur démarré

Mais ensuite, si je tente de fermer l'invite de commande, celle-ci ne se ferme pas et m'affiche ces messages supplémentaires :

Code:

U:\>2021-08-27 10:09:22.957 CEST [11512] LOG:  processus en tĂąche de fond « logical replication launcher » (PID 3436) a Ă©tĂ© arrĂȘtĂ© par l'exception 0xC000013A
2021-08-27 10:09:22.957 CEST [11512] ASTUCE :  Voir le fichier d'en-tĂȘte C « ntstatus.h » pour une description de la valeur
        hexadécimale.
2021-08-27 10:09:22.957 CEST [11512] LOG:  arrĂȘt des autres processus serveur actifs
2021-08-27 10:09:22.961 CEST [11512] LOG:  processus de rĂ©cupĂ©ration des statistiques (PID 12876) a Ă©tĂ© arrĂȘtĂ© par l'exception 0xC000013A
2021-08-27 10:09:22.961 CEST [11512] ASTUCE :  Voir le fichier d'en-tĂȘte C « ntstatus.h » pour une description de la valeur
        hexadécimale.
2021-08-27 10:09:22.973 CEST [11512] LOG:  tous les processus serveur sont arrĂȘtĂ©s ; rĂ©initialisation
2021-08-27 10:09:23.071 CEST [11596] LOG:  le systÚme de bases de données a été interrompu ; dernier lancement connu à 2021-08-27 10:09:19 CEST
2021-08-27 10:09:23.750 CEST [11596] LOG:  le systĂšme de bases de donnĂ©es n'a pas Ă©tĂ© arrĂȘtĂ© proprement ; restauration
        automatique en cours
2021-08-27 10:09:23.756 CEST [11596] LOG:  longueur invalide de l'enregistrement Ă  0/21D72A0 : voulait 24, a eu 0
2021-08-27 10:09:23.756 CEST [11596] LOG:  la ré-exécution n'est pas nécessaire
2021-08-27 10:09:23.989 CEST [11512] LOG:  le systĂšme de bases de donnĂ©es est prĂȘt pour accepter les connexions

Voyez-vous d'oĂč vient ce comportement ? Normal ?

Je vais creuser pour faire en sorte que le serveur se lance automatiquement au démarrage de Windows : si vous avez une solution simple à me proposer, je veux bien wink

Merci pour vos conseils !

Dernière modification par Sylvain M. (Fri 27 August 2021 10:16)


Sylvain M.

Hors ligne

 

#2 Fri 27 August 2021 11:08

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1566

Re: Nouveau serveur PG : pb invite de commande Windows

Bonjour,

Le comportement que vous voyez est normal: vous avez démarré pg en ligne de commande dans une fenetre dos: pg est alors lié à cette fenetre.
Quand vous la fermez d'un coup sans arreter pg, c'est comme si vous crashiez volontairement pg (message processus en tĂąche de fond « logical replication launcher » (PID 3436) a Ă©tĂ© arrĂȘtĂ© par l'exception 0xC000013A). Quand un des process pg crashe, le systĂšme de pg arrĂȘte les autres processus et redĂ©marre (dernier message: le systĂšme de bases de donnĂ©es est prĂȘt pour accepter les connexions).

Pour arrĂȘter proprement pg, utilisez pg_ctl stop -D ..., Ă©ventuellement avec l'option -m suivant le type d'arret que vous voulez faire.
Une fois pg arrĂȘtĂ©e, vous pouvez fermer la fenĂȘtre dos.

Sous windows, il est plus simple de gĂ©rer les arrĂȘts/stop de pg avec les services windows: Si vous avez installĂ© pg avec un installeur type wizard, vous devriez avoir un service "postgresql" qui apparaĂźt dans la fenetre des services. Vous pouvez alors contrĂŽler pg depuis cette fenĂȘtre, et par exemple choisir de dĂ©marrer automatiquement au dĂ©marrage de windows.

Je vous conseille aussi de configurer le fichier de log dans pg (postgresql.conf), pour l'écrire qq part sur le disque et pouvoir vous y référer en cas de problÚme.

Nicolas

Hors ligne

 

#3 Fri 27 August 2021 11:44

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1044

Re: Nouveau serveur PG : pb invite de commande Windows

Merci Nicolas : j'y vois plus clair avec tes explications big_smile

Si vous avez installé pg avec un installeur type wizard, vous devriez avoir un service "postgresql" qui apparaßt dans la fenetre des services.


Malheureusement, je ne le trouve pas dans la liste des services. J'ai pourtant bien utilisĂ© le Wizard Windows x86-64 de EnterpriseDB (https://www.enterprisedb.com/downloads/ … -downloads).

Est-ce que je dois le créer avec une commande du genre :

Code:

pg_ctl register -N postgresql -D "D:\DATAPG"

Dernière modification par Sylvain M. (Fri 27 August 2021 11:45)


Sylvain M.

Hors ligne

 

#4 Fri 27 August 2021 11:57

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1044

Re: Nouveau serveur PG : pb invite de commande Windows

Sans attendre, j'ai lancé la commande de création du service, et redémarré le PC.
Super : PgAdmin et QGis se connectent bien au Serveur, sans que j'ai eu à le démarrer manuellement big_smile
(le service "postgresql" est bien visible dans la fenĂȘtre des services, en cours d’exĂ©cution et en dĂ©marrage automatique)

Juste une derniĂšre question, pour comprendre. Si je fais un

Code:

pg_ctl status -D "D:\DATAPG"

ça me répond

pg_ctl : aucun serveur en cours d'exécution


Alors que tout fonctionne depuis QGis  / PgAdmin : c'est normal ?


Sylvain M.

Hors ligne

 

#5 Fri 27 August 2021 12:00

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1566

Re: Nouveau serveur PG : pb invite de commande Windows

Je ne connaissais pas le pg_ctl register ! C'est cool cette option.

Mets peut etre la version de postgresql dans le nom du service (-N postgresql-13 par ex). Comme il est possible d'avoir plusieurs version en // de pg, ca peut etre utile de savoir quel service pilote quelle version.

Nicolas

Hors ligne

 

#6 Fri 27 August 2021 12:38

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1044

Re: Nouveau serveur PG : pb invite de commande Windows

Nicolas Ribot a écrit:

Mets peut etre la version de postgresql dans le nom du service


Trop tard, mais effectivement ça aurait été mieux ! (comme ça marche bien, je veux pas prendre le risque de supprimer le service)

Mais tu trouves ça normal que le "pg_ctl status" m'indique "aucun serveur en cours d'exécution" alors que le service est opérationnel ?


Sylvain M.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo