Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Afin de migrer une application vers sa nouvelle version, je doit migrer PostgresSQL de la version 10.5 vers la version 11.
Pour se faire j'ai télécharger la version 11.7, je l'ai installé avec le compte admin local du serveur (windows serveur 2016), sur la documentation de migration fourni par l'éditeur du logiciel, il est indiquer de lancer le script suivant :
set OLD_PG_DIR=C:/Program Files/PostgreSQL/10
set NEW_PG_DIR=C:/Program Files/PostgreSQL/11
"%NEW_PG_DIR%/bin/pg_upgrade.exe" ^
--old-datadir "%OLD_PG_DIR%/data" ^
--new-datadir "%NEW_PG_DIR%/data" ^
--old-bindir "%OLD_PG_DIR%/bin" ^
--new-bindir "%NEW_PG_DIR%/bin" ^
--new-bindir "%NEW_PG_DIR%/bin" ^
--username=postgres ^
--check
Préalablement j'édite les pghba.conf afin de remplacer les md5 par des trust.
Et je vérifie que les deux services sont à l'arrêt.
Je lance donc cmd en tant qu'administrateur, toujours sur la session administrateur locale, et voici le résultat :
Exécution de tests de cohérence
-------------------------------
Checking cluster versions ok
*failure*
Consultez les dernières lignes de « pg_upgrade_server_start.log » ou « pg_upgrade_server.log » pour trouver la cause probable de l'échec.
échec de la connexion à la base de données : n'a pas pu se connecter au serveur : Connection refused (0x0000274D/10061)
Le serveur est-il actif sur l'hôte « localhost » (::1)
et accepte-t-il les connexionsTCP/IP sur le port 50432 ?
n'a pas pu se connecter au serveur : Connection refused (0x0000274D/10061)
Le serveur est-il actif sur l'hôte « localhost » (127.0.0.1)
et accepte-t-il les connexionsTCP/IP sur le port 50432 ?
n'a pas pu se connecter au postmaster source lancé avec la commande :
"C:/Program Files/PostgreSQL/10/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "C:/Program Files/PostgreSQL/10/data" -o "-p 50432 -b " start
Échec, sortie
je consulte pg_upgrade_server_start.log, en voici le contenu :
-----------------------------------------------------------------
pg_upgrade run on Wed Apr 15 20:21:46 2020
-----------------------------------------------------------------
-----------------------------------------------------------------
pg_upgrade run on Wed Apr 15 20:21:46 2020
-----------------------------------------------------------------
command: "C:/Program Files/PostgreSQL/10/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "C:/Program Files/PostgreSQL/10/data" -o "-p 50432 -b " start >> "pg_upgrade_server_start.log" 2>&1
en attente du démarrage du serveur.... attente arrêtée
pg_ctl : n'a pas pu démarrer le serveur
Examinez le journal applicatif.
je consulte pg_upgrade_server.log, voici ce qu'il contient :
-----------------------------------------------------------------
pg_upgrade run on Wed Apr 15 20:21:46 2020
-----------------------------------------------------------------
-----------------------------------------------------------------
pg_upgrade run on Wed Apr 15 20:21:46 2020
-----------------------------------------------------------------
2020-04-15 20:21:48.224 CEST [32] FATAL: n'a pas pu créer le fichier verrou « postmaster.pid » : Permission denied
Je ne vois vraiment pas d'où vient le problème... quelqu'un a-t-il une idée ????
Merci d'avance pour vos réponses
Hors ligne
Permission denied: c'est un problème de droits d'accès.
Il faut vérifier que le compte du service Windows PostgreSQL a bien les droits de lectue et d'écriture dans PGDATA.
Le service Windows doit s'appeller postgresql-x64-11. PGDATA est par défaut C:\Program Files\PostgreSQL\11\data.
J'ai une installation locale de PG 10 sur Windows 2016 (mais sans Active Directory). J'ai utilisé le compte administrateur local et le service Windows s'exécute avec le compte "Network Service".
Dernière modification par pifor (15/04/2020 22:27:34)
Pierre
Hors ligne
Bonsoir pifor,
Merci pour le coup de main. Je vérifie ça demain matin.
Hors ligne
Bonjour,
Je viens de vérifier et effectivement, le service est lancé par le compte Service réseau.
Je ne peux pas donner des droits sur le répertoire DATA au compte service réseau, je ne le trouve pas.... y a t il un groupe à qui je doit donner les droits sur ce dossier ?
Hors ligne
Bonjour,
Essayez de donner tous les droits à l'utilisateur 'NETWORK SERVICE' sur le répertoire DATA.
Pierre
Hors ligne
J'ai ajouté l'utilisateur Network service en contrôle total sur les dossiers data de psql 10 et 11.
Le résultat est le même.
J'ai lu sur un post que le service psql ne pouvait pas être lancé avec un compte administrateur.... Est ce vrai ?
Dois je créer un compte local simple utilisateur ?
Hors ligne
Je ne sais pas précisément quel type de compte il faut utiliser pour le service PostgreSQL et les droits précis qu'il faut lui donner: je n'ai pas trouvé d'information précise à ce niveau.
La documentation la plus complète que j'ai trouvée est la suivante pour l'installlateur EntrepriseDB et la version 10:
https://get.enterprisedb.com/docs/Postg … de_v10.pdf
Mais j'ai utilisé cet installateur et contrairement à ce qui est indiqué il n'a pas créé de compte postgres pour le service Windows.
Pierre
Hors ligne
Je viens de me rendre compte que le script plante au lancement de la version à migrer (donc la 10).... le problème ne vient donc pas de la version 11.
Je vais me tourné du côté de l'antivirus.... SOPHOS.
Hors ligne
Pages : 1