amélioration
This commit is contained in:
parent
4936d3c8e7
commit
5375a48bfd
scripts/server-postgres
|
@ -9,33 +9,42 @@ check_root
|
|||
|
||||
set -e
|
||||
|
||||
DB_NAME="$1"
|
||||
DB_USER="$2"
|
||||
echo "👉 Nom de la base de données à créer : "
|
||||
read DB_NAME
|
||||
|
||||
if [[ -z "$DB_NAME" || -z "$DB_USER" ]]; then
|
||||
echo "❌ Usage: $0 <nom_base_de_donnees> <utilisateur_postgresql>"
|
||||
exit 1
|
||||
fi
|
||||
echo "👉 Nom de l'utilisateur PostgreSQL propriétaire : "
|
||||
read DB_USER
|
||||
|
||||
# Lecture du mot de passe en mode sécurisé
|
||||
read -s -p "🔑 Mot de passe PostgreSQL de l'utilisateur 'postgres' : " DB_PASS
|
||||
echo ""
|
||||
|
||||
# Exporter le mot de passe temporairement
|
||||
export PGPASSWORD="$DB_PASS"
|
||||
|
||||
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=$(psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='${DB_USER}'")
|
||||
|
||||
if [[ "$USER_EXISTS" != "1" ]]; then
|
||||
echo "❌ L'utilisateur '$DB_USER' n'existe pas dans PostgreSQL."
|
||||
unset PGPASSWORD
|
||||
exit 2
|
||||
else
|
||||
echo "✅ L'utilisateur '$DB_USER' existe."
|
||||
fi
|
||||
|
||||
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=$(psql -U postgres -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'")
|
||||
|
||||
if [[ "$DB_EXISTS" == "1" ]]; then
|
||||
echo "⚠️ La base de données '$DB_NAME' existe déjà."
|
||||
else
|
||||
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"
|
||||
createdb -U postgres -O "$DB_USER" "$DB_NAME"
|
||||
echo "✅ Base de données '$DB_NAME' créée avec succès."
|
||||
fi
|
||||
|
||||
# Nettoyage de la variable d'environnement
|
||||
unset PGPASSWORD
|
||||
|
||||
echo "🎉 Opération terminée."
|
||||
|
|
Loading…
Reference in New Issue