diff --git a/scripts/server-postgres/.list_files.txt b/scripts/server-postgres/.list_files.txt
index 74a589c..cdbcc24 100644
--- a/scripts/server-postgres/.list_files.txt
+++ b/scripts/server-postgres/.list_files.txt
@@ -1 +1,2 @@
+create_pg_db.sh
 setup-postgres17.sh
diff --git a/scripts/server-postgres/create_pg_db.sh b/scripts/server-postgres/create_pg_db.sh
new file mode 100644
index 0000000..341273e
--- /dev/null
+++ b/scripts/server-postgres/create_pg_db.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+# Basé sur un travail de Cédric Abonnel / Cédrix sous licence CC BY-NC 4.0
+
+# Importer les fonctions communes
+source "$(dirname "$0")/../common/common_utils.sh"
+
+# Vérifier si le script est exécuté en root
+check_root
+
+set -e
+
+DB_NAME="$1"
+DB_USER="$2"
+
+if [[ -z "$DB_NAME" || -z "$DB_USER" ]]; then
+  echo "❌ Usage: $0 <nom_base_de_donnees> <utilisateur_postgresql>"
+  exit 1
+fi
+
+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}'")
+
+if [[ "$USER_EXISTS" != "1" ]]; then
+  echo "❌ L'utilisateur '$DB_USER' n'existe pas dans PostgreSQL."
+  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}'")
+
+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"
+  echo "✅ Base de données '$DB_NAME' créée avec succès."
+fi
+
+echo "🎉 Opération terminée."