#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 ![]()
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 connexionsVoyez-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 ![]()
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 ![]()
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 ![]()
(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
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

