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 21/08/2012 21:06:03

Selzig
Membre

[RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

Bonjour,

je cherche une méthode d'installation fiable de pgSQL 9.1 en ligne de commande sous Windows 7 et Windows 2008 (32 et 64 bits).

A partir d'une version 8, j'ai essayé la méthode conseillée sur ce site  : msiexec /i postgresql-8.0.0-rc1-int.msi  /qr INTERNALLAUNCH=1 ADDLOCAL=server,psql,docs SERVICEDOMAIN="%COMPUTERNAME%" [...] En vain d'ailleurs. J'ai commencé par une 8 parce que je dipose d'un serveur 2003 où j'ai installé proprement mais pas en ligne de commande une version 8. Je pensais comparer à l'arrivée les 2 installations. Peine perdue !

De plus, j'ai découvert fortuitement qu'avec la version 9, il semblerait que la méthode ait changé. Mais visiblement, il a quelques problèmes.

Dans la mesure où chaque tentative terminée par un échec nécessite un nettoyage difficile, quelqu'un pourrait-il m'indiquer une procédure fiable pour une 9.1 ?

D'avance merci. Cordialement. Gilles

Dernière modification par Selzig (22/08/2012 18:36:23)

Hors ligne

#2 22/08/2012 08:58:37

Marc Cousin
Membre

Re : [RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

J'ai eu une seule fois à le faire, et j'ai renoncé à passer par l'installeur.

J'ai choisi d'utiliser l'archive zip (elle est récupérable au même endroit que l'installeur).

Vous récupérez le zip, vous le dézippez à l'endroit de votre choix, et il n'y a plus qu'à créer un utilisateur (postgres par exemple), lui affecter un répertoire pour l'instance, lancer initdb en tant que cet utilisateur, et pg_ctl register pour créer le service. Ça ne crée pas les entrées du menu démarrer par contre.


Marc.

Hors ligne

#3 22/08/2012 09:30:14

rjuju
Administrateur

Re : [RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

Petite précision: j'ai toujours fait comme ça sous windows, par contre attention même si on peut ajouter un utilisateur système sous wndows en ligne de commande, il faut lui ajouter les droits "ouvrir une session en tant que service" et ça je n'ai jamais trouvé comment faire en ligne de commande.

Hors ligne

#4 22/08/2012 15:49:32

Selzig
Membre

Re : [RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

Bonjour,

Marc, j'en en effet lu ce type d'installation. La remarque de Julien est encore d'actualité : beaucoup de tentatives font appel à la modification de la base de registre et semble-t-il, ces modifications varient d'une version à l'autre de Windows. Voilà pourquoi de prime abord j'ai écarté cette solution. J'ai récupéré un appareil avec restauration d'image usine de l'OS (Win 7) par F11 à partir du Bios... Cela va me permettre d'essayer de nombreuses combinaisons à partir d'un appareil systématiquement neuf... Car actuellement, au fil des tentatives, je ne suis pas sûr du tout de retourner à une configuration d'origine... "surchargeant" peut-être ainsi les erreurs. Je ferai un CR à l'issue de mes tentatives. Merci pour votre aide.

Cordialement. Gilles

Hors ligne

#5 22/08/2012 18:33:09

Selzig
Membre

Re : [RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

Bonjour, donc voici le CR

Installation avec succès à partir de postgresql-9.1.5-1-windows.exe sur un Windows 7 "propre".

J'ai utilisé la ligne de commande suivante :
postgresql-9.1.5-1-windows.exe --unattendedmodeui minimal --mode unattended --servicename "postgreSQL" --servicepassword "pass123456" --superpassword "pass123" --create_shortcuts "0"  --datadir "C:\TestDir\PostgreSQL\9.1\data" --locale "French, France"

Plusieurs remarques :
1. postgresql-9.1.5-1-windows.exe --help permet de disposer de toutes les options (notamment par défaut)
2. le fichier install.bat qui contient la ligne de commande et postgresql-9.1.5-1-windows.exe peuvent être stockés sur un support en lecture seule (CD-ROM). L'ensemble nécessite moins de 50 Mo. J'ai placé les 2 dans le même répertoire
3. l'installation nécessite environ 3 minutes et est entièrement automatique
4. j'ai essayé initialement un --locale "fr_FR.UTF-8". Lors de l'installation un message d'erreur indique le problème et stoppe l'installation
5. le programme d'installation crée tous les répertoires nécessaires notamment dans mon cas le datadir.
6. par défaut le --prefix est C:\Program File (x86)\PostgreSQL\9.1. On y retrouve le sous-dossier bin qui contient notamment l'exécutable de pgadmin
7. si --create_shortcuts "0", alors en effet aucun icône sinon les icônes figurent dans "Tous les programmes -> PostgreSQL dont pgADMIN - Aucun sur le bureau.
8. le service est lancé à la fin de l'installation mais il est nécessaire de rebooter sinon "Server doesn't listen : For security reasons, PostgreSQL does not listen on all available IP addresses on the service machine initially
9. dans mon cas, je suis parti de la configuration initiale du PC reformaté avec un seul utilisateur Test sans mot de passe : pas de problème de droit.
10. il n'est pas possible de réaliser une installation alors que PostgreSQL est déjà installé avec la même méthode : un message d'erreur incompréhensible apparaît pendant quelques secondes et la procédure est automatiquement interrompue. Il faudrait faire une analyse plus fine à ce sujet. Deux versions différentes, deux ports différents...

Questions complémentaires :
a. Quelle est l'utilité d'un --servicepassword alors que par défaut le code de l'administrateur de la machine est utilisé ?
b. C'est curieux ce format de --locale. Cela correspond à quelque chose de standardisé ?
c. Je ne sais pas si le programme de désinstallation fonctionne complètement ou plus exactement s'il est compatible avec une ré-installation par le même procédé
Encore merci pour votre aide.
Cordialement. Gilles

Dernière modification par Selzig (22/08/2012 18:44:41)

Hors ligne

#6 22/08/2012 18:44:44

rjuju
Administrateur

Re : [RESOLU] Installation de pgSQL 9.1 sous Windows en ligne de commande

Pour le 8, vous pouvez faire un pg_ctl -D "C:\TestDir\PostgreSQL\9.1\data" restart ou un "net stop postgreSQL" suivi d'un net start s'il suffit de redémarrer la base de donnée. Ou alors il faut aussi modifier le paramètre listen_addresses du postgresql.conf.

a. Je n'utilise pas l'installeur, mais je suppose que c'est par raison de sécurité, pour ne pas donner ce mot de passe aux admin db.

b. Bizarre oui. Ça doit être spécifique microsoft.

Hors ligne

Pied de page des forums