Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
Comme je suis nouveau dans ce forum je sais pas ou je dois inserer mon post exactement,
Mon probleme est que je voudrais utiliser powershell pour automatiser l'installation du postgreSQL sur une machine Windows server 2016 pour l'utiliser avec une application web,
mon probleme c'est : y a t il uun module powershell gratuit qui peut faciliter l'installation et sur tout la creation d'une base vide pour l'avoir utiliser avec mon appli.
je voudrais que ça soit sans le moindre intervention , et qu'il soit possible de le faire via ansible par exemple.
Hors ligne
Bonjour,
je sais pas ou je dois inserer mon post exactement
la section "Général" convient, par contre un seul post suffit. J'ai supprimé le 2nd.
Mon probleme est que je voudrais utiliser powershell pour automatiser l'installation du postgreSQL sur une machine Windows server 2016 pour l'utiliser avec une application web,
mon probleme c'est : y a t il uun module powershell gratuit qui peut faciliter l'installation et sur tout la creation d'une base vide pour l'avoir utiliser avec mon appli.
je voudrais que ça soit sans le moindre intervention , et qu'il soit possible de le faire via ansible par exemple.
Je n'ai pas la moindre idée de ce qu'est un module powershell. Cela dit, l'installation de postgres est relativement simple à automatiser. Vous pouvez soit télécharger l'installeur qui s'occupera de ça (mais attention il y a souvent des problèmes dus aux anti virus et autres), ou le faire à la main.
Pour cela il suffit de télécharger une archive contenant les binaire à l'adresse https://www.enterprisedb.com/download-p … l-binaries
Vous pouvez ensuite utiliser pg_ctl pour créer une nouvelle instance et créer un service (cf https://www.postgresql.org/docs/current … -ctl.html).
Julien.
https://rjuju.github.io/
Hors ligne
Bonjour,
Voici un exemple d'installation (en complément des excellents conseils de ruju) en ligne de commande (ça date un peu pour les versions, mais il suffit d'adapter avec les versions récentes. La méthode est toujours la même) :
1) Téléchargement :
Visual c++ 2013 64 bits :
https://www.microsoft.com/fr-fr/downloa … x?id=40784
PostgreSQL :
http://www.enterprisedb.com/products-se … ad#windows
Choisir l’installeur pour Windows x86-64.
2) Installation :
Visual c++ 2013 64 bits :
Dans une fenêtre DOS, se placer à l’endroit où se trouve vcredist_x64.exe.
Lancer :
vcredist_x64.exe /install /quiet /norestart /log %TEMP%\vcredist_2013_x86.log
PostgreSQL :
Dans une fenêtre DOS, se placer à l’endroit où se trouve vcredist_x64.exe.
Lancer :
postgresql-9.5.3-1-windows-x64.exe --mode unattended --extract-only 1 --disable-stackbuilder 1 --prefix C:\mon_repertoire_d_installation
Mise à jour du PATH :
Dans une fenêtre DOS :
setx PATH "%PATH%;mon_repertoire_d_installation\bin"
Dernière modification par ruizsebastien (25/01/2021 08:55:36)
Cordialement,
Sébastien.
Hors ligne
Merci pour les réponses mais est ce que c''est possible de faire l'installation depuis powershell (logiquement c'est possbile) en plus j'ai besoin de lancer une commande powershell pour faire la creation d'une base vide pour mon appli.
Merci d'avance.
Hors ligne
À priori vous pouvez lancer les commandes montrées par Sébastien depuis powershell en ajoutant un "&" (cf https://stackoverflow.com/questions/167 … and-quotes ). Vu que vous utilisez à priori powershell, j'imagine que vous êtes plus à même d'adapter la procédure de Sébastien que nous.
Vous pouvez créer une base vide en utilisant l'outil createdb: https://www.postgresql.org/docs/current … atedb.html
Julien.
https://rjuju.github.io/
Hors ligne
pour l'installtion en mode script j'ai fait comme suit et ça marchait :
Import-Module Install-Postgres
Install-Postgres -User $pguser -Password $pgpassword -InstallerUrl $pgUrlInstaller -InstallPath $pgpathInstaller -DataPath $pgDataPath -Locale $pgLocale -Port $pgPort -ServiceName $pgServiceName
$Env:Path=$Env:Path+";c:\Program Files\PostgreSQL\13\bin\"
par contre j'ai besoin de scripter la creation d'une base db1 sans que powershell me prompte pour une mot de passe , j'ai essayé comme vous m'avez dit mais toujour il faut taper à la main le mot de pase:
C:\Program Files\PostgreSQL\13\bin>createdb.exe --username=pguser1 --no-password --password=pass001 namedb
Password:
--> et ça je voudrais pas que se produise vu que je veux tout automatiser .
Hors ligne
vous pouvez toujours essayer avec psql :
(exemple issue d'un script bash à adapter à powershell)
psql -d postgres -h localhost -p ${PORT} -U postgres --set ON_ERROR_STOP=on -w -S -c "ALTER ROLE postgres WITH PASSWORD '${PASSWORD_POSTGRES}';"
psql -d postgres -h localhost -p ${PORT} -U postgres --set ON_ERROR_STOP=on -w -S -c "create database ${BASE} ENCODING '${ENCODING}' LC_COLLATE '${LOCALE}' OWNER postgres;
Cordialement,
Sébastien.
Hors ligne
pour l'installtion en mode script j'ai fait comme suit et ça marchait :
Import-Module Install-Postgres
Install-Postgres -User $pguser -Password $pgpassword -InstallerUrl $pgUrlInstaller -InstallPath $pgpathInstaller -DataPath $pgDataPath -Locale $pgLocale -Port $pgPort -ServiceName $pgServiceName
$Env:Path=$Env:Path+";c:\Program Files\PostgreSQL\13\bin\"
par contre j'ai besoin de scripter la creation d'une base db1 sans que powershell me prompte pour une mot de passe , j'ai essayé comme vous m'avez dit mais toujour il faut taper à la main le mot de pase:C:\Program Files\PostgreSQL\13\bin>createdb.exe --username=pguser1 --no-password --password=pass001 namedb
Password:--> et ça je voudrais pas que se produise vu que je veux tout automatiser .
L'option --password ne fait absolument pas ce que vous pensez. En regardant l'aide de l'outil:
-W, --password force password prompt
Est-ce que le mot de passe en question est contenu dans $pgpassword ? Si oui, vous avez 2 moyens de fournir le mot de passe :
- créer un fichier .pgpass : https://www.postgresql.org/docs/current … gpass.html
- positionner la variable d'environnement PGPASSWORD : https://www.postgresql.org/docs/current … nvars.html
Sinon, vous pouvez tenter de modifier "Install-Postgres" pour configurer une connexion sans mot de passe dans certains cas. Les options pour faire ça de manière sécurisée sous windows sont malheureusement assez limitées. La documentation est disponible à https://www.postgresql.org/docs/current … thods.html
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1