ajout script pour postgres

This commit is contained in:
Cédric Abonnel 2025-03-24 12:16:58 +01:00
parent 5e663d8925
commit bd74da92ff
3 changed files with 51 additions and 0 deletions

View File

@ -3,3 +3,4 @@ server-dhcp
server-httpd
server-mail
server-mariadb
server-postgres

View File

@ -0,0 +1 @@
setup-postgres17.sh

View File

@ -0,0 +1,49 @@
#!/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
# Téléchargement et stockage de la clé PostgreSQL
echo "Ajout du dépôt officiel PostgreSQL 17..."
mkdir -p /etc/apt/keyrings
wget -qO /etc/apt/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
chmod 644 /etc/apt/keyrings/postgresql.asc
echo "deb [signed-by=/etc/apt/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
# Installation
echo "Installation de PostgreSQL 17..."
apt update -y
apt install -y postgresql-17
echo "Démarrage et activation de PostgreSQL..."
systemctl enable postgresql
systemctl start postgresql
echo "Génération d'un mot de passe fort pour l'utilisateur postgres..."
POSTGRES_PASSWORD=$(generate_token 20)
echo "Configuration du mot de passe de l'utilisateur postgres..."
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '${POSTGRES_PASSWORD}';"
echo "Configuration de l'accès local en md5..."
PG_HBA="/etc/postgresql/17/main/pg_hba.conf"
sed -i "s/^\(local\s\+all\s\+postgres\s\+\)peer/\1md5/" "$PG_HBA"
echo "Redémarrage de PostgreSQL pour prendre en compte la configuration..."
systemctl restart postgresql
echo ""
echo "✅ Installation terminée."
echo "-------------------------------------------"
echo " Mot de passe de l'utilisateur postgres :"
echo " ${POSTGRES_PASSWORD}"
echo "-------------------------------------------"
echo " Pensez à le sauvegarder en lieu sûr."