apt install postgresql
Après installation le service est actif et lancé :
systemctl status postgresql.service
/var/lib/postgresql/15/main
;/etc/postgresql/15/main/postgresql.conf
.On peut le vérifier via le client psql : depuis le client psql :
su - postgres
psql
Puis depuis le prompt :
show data_directory; show config_file;
La commande pg_lsclusters retourne également le répertoire de base et les logs :
pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 15 main 5432 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
mkdir -p /srv/psql/15/main rsync -av /var/lib/postgresql/15/main/ /srv/pgsql/data/15/main/
Créer le nouveau dossier d'accueil:
mkdir -p /srv/pgsql/{data/15/main,log} chown -R postgres: /srv/pgsql/ chmod -R u+rwx,go-rwx /srv/pgsql/
Déplacer les données existantes :
systemclt stop postgres.service rsync -av /var/lib/postgresql/15/main/ /srv/pgsql/data/15/main/
Modifier le fichier de configuration /etc/postgresql/15/main/postgresql.conf
:
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.
data_directory = '/srv/pgsql/data/15/main' # use data in another directory