mot de passe demandé une seule fois

This commit is contained in:
2025-04-07 07:34:34 +02:00
parent 70facd85f3
commit b776da1448
+3 -12
View File
@@ -19,34 +19,25 @@ read DB_USER
read -s -p "🔑 Mot de passe PostgreSQL de l'utilisateur 'postgres' : " DB_PASS read -s -p "🔑 Mot de passe PostgreSQL de l'utilisateur 'postgres' : " DB_PASS
echo "" echo ""
# Exporter le mot de passe temporairement
export PGPASSWORD="$DB_PASS"
echo "🔎 Vérification de l'existence de l'utilisateur PostgreSQL '$DB_USER'..." echo "🔎 Vérification de l'existence de l'utilisateur PostgreSQL '$DB_USER'..."
USER_EXISTS=$(sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='${DB_USER}'") USER_EXISTS=$(sudo -u postgres env PGPASSWORD="$DB_PASS" psql -U postgres -h localhost -tAc "SELECT 1 FROM pg_roles WHERE rolname='${DB_USER}'")
if [[ "$USER_EXISTS" != "1" ]]; then if [[ "$USER_EXISTS" != "1" ]]; then
echo "❌ L'utilisateur '$DB_USER' n'existe pas dans PostgreSQL." echo "❌ L'utilisateur '$DB_USER' n'existe pas dans PostgreSQL."
unset PGPASSWORD
exit 2 exit 2
else else
echo "✅ L'utilisateur '$DB_USER' existe." echo "✅ L'utilisateur '$DB_USER' existe."
fi fi
echo "🔎 Vérification de l'existence de la base de données '$DB_NAME'..." echo "🔎 Vérification de l'existence de la base de données '$DB_NAME'..."
DB_EXISTS=$(sudo -u postgres psql -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'") DB_EXISTS=$(sudo -u postgres env PGPASSWORD="$DB_PASS" psql -U postgres -h localhost -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'")
if [[ "$DB_EXISTS" == "1" ]]; then if [[ "$DB_EXISTS" == "1" ]]; then
echo "⚠️ La base de données '$DB_NAME' existe déjà." echo "⚠️ La base de données '$DB_NAME' existe déjà."
else else
echo "🛠 Création de la base de données '$DB_NAME' avec le propriétaire '$DB_USER'..." echo "🛠 Création de la base de données '$DB_NAME' avec le propriétaire '$DB_USER'..."
sudo -u postgres createdb -O "$DB_USER" "$DB_NAME" sudo -u postgres env PGPASSWORD="$DB_PASS" createdb -U postgres -h localhost -O "$DB_USER" "$DB_NAME"
echo "✅ Base de données '$DB_NAME' créée avec succès." echo "✅ Base de données '$DB_NAME' créée avec succès."
fi fi
# Nettoyage de la variable d'environnement
unset PGPASSWORD
echo "🎉 Opération terminée." echo "🎉 Opération terminée."