cd /tmp/
name=${1:-replique}
port=${2:-5432}
echo "nom du cluster: $name"
echo "port du cluster primaire: $port"

pg_conftool set synchronous_standby_names '*'  # ça fait planter en mono serveur!


conninfo="host=localhost user=ubuntu password=ubuntu"
echo "primary_conninfo: $conninfo"

# Permet de se connecter depuis n'importequel ip sur le serveur PostgreSQL 
pg_createcluster 14 $name
# Met en place des paramètre de configuration


export pg_hba="/etc/postgresql/14/$name/pg_hba.conf"
cp $pg_hba /tmp/
sed -i 's/^/#/g' $pg_hba # commente pg_hba.conf

# Ajoute ces lignes à pg_hba.conf
echo -n "### AUTOMATICALLY ADDED #### 
local   all             postgres                                peer
host    all             all             0.0.0.0/0               scram-sha-256
host    replication     all             0.0.0.0/0               scram-sha-256
local   all             all                                     peer" >> $pg_hba

# Supprime le répertoire de donnés
rm -rf /var/lib/postgresql/14/$name
export PGPASSWORD=ubuntu 
# Dupplique les données de la primaire.
pg_basebackup -h localhost -p $port -U ubuntu -D /var/lib/postgresql/14/$name -R
sudo chown -R postgres:postgres /var/lib/postgresql/14/$name

pg_conftool 14 $name set primary_conninfo "$conninfo"
pg_conftool 14 $name set listen_addresses '*'
pg_conftool 14 $name set wal_level replica
# Relance le serveur.
systemctl restart postgresql@14-$name.service
