将 PostgreSQL 数据目录迁移到 /data 目录下或任何其他你选择的目录下。迁移 PostgreSQL 数据目录的步骤如下:

  1. 停止 PostgreSQL 服务
    在迁移数据目录之前,确保停止 PostgreSQL 服务以防止数据损坏。
    可以使用以下命令停止 PostgreSQL 服务:
sudo systemctl stop postgresql@14-main

或者:

sudo service postgresql stop
  1. 移动数据目录
    将 PostgreSQL 数据目录从原来的位置移动到 /data 目录下。
    假设原数据目录路径是 /var/lib/postgresql/14/main,可以使用以下命令将其移动到 /data 目录下:
sudo mv /var/lib/postgresql/14/main /data
  1. 更新配置文件
    编辑 PostgreSQL 的配置文件 postgresql.confpg_hba.conf,将数据目录的路径更新为新的位置。你可以使用文本编辑器打开这些文件:
sudo vim /etc/postgresql/14/main/postgresql.conf
sudo vim /etc/postgresql/14/main/pg_hba.conf

在这些文件中查找并更新 data_directory 参数,将其设置为新的数据目录路径:

data_directory = '/data/main'

如果在 pg_hba.conf 中使用了绝对路径来定义访问控制规则,也需要更新这些路径。

  1. 更改数据目录的权限
    确保 PostgreSQL 用户对新的数据目录拥有适当的权限。你可以使用以下命令更改权限:
sudo chown -R postgres:postgres /data/main
  1. 重新启动 PostgreSQL 服务
    完成以上步骤后,重新启动 PostgreSQL 服务使更改生效:
sudo systemctl start postgresql@14-main

或者:

sudo service postgresql start

现在,PostgreSQL 数据目录已经成功迁移到 /data 目录下。确保验证数据库是否正常运行,并检查数据库是否可以正常访问和操作。