PostgreSql how to sperate data directory for data dir

When installing PostgreSQL, it defaults to creating its data directory in /var/lib/postgresql.

For better performance, reliability, and management, it is often recommended to relocate the PostgreSQL data directory to a dedicated disk or separate mount point. This can help with I/O performance, backup management, and isolation of database operations from the rest of the system.

Drop and create new dp_cluster ubuntu

the steps for PostgreSQL 15 different version may differ

we will first create directory and with b owner be postgres
user.

and the permission should be sit to 600

sudo mkdir postgresqldata
sudo chown -R postgres:postgres postgresqldata/
sudo chmod 600 postgresqldata/


the directory is mount on separate disk

df -h

we will start stop the cluster then dropping it

 pg_lsclusters  --- view cluster name and status 
 
 sudo pg_ctlcluster stop 15 main  -------- [stop,start,] [version] [clustername]

 
  pg_dropcluster 15 main  --- drop the cluster and it will also delete its config directory 
  
  
 

create cluster


sudo pg_createcluster -d postgresqldata/  -u postgres -p 5432 15 myclsuter 

#pg_createcluster -d [data dir path] -u [owner username]
-p [port number] [version][cluster name ]

sudo pg_ctlcluster start 15  myclsuter 

pg_lsclusters 

Drop and create new dp_cluster redhat

in redhat its dirent you need to first stop PostgreSQL services

systemctl stop postgresql

then remove default data dir directory completely


sudo rm -r /var/lib/postgresql/15/main

Remove the configuration files


rm -r /etc/postgresql/15/main

then create new cluster after that start the services


initdb -D /usr/local/pgsql/data


pg_ctl start -l logfile
https://www.dragonflydb.io/faq/postgres-delete-cluster