将 PostgreSQL 数据目录迁移到 /data
目录下或任何其他你选择的目录下。迁移 PostgreSQL 数据目录的步骤如下:
- 停止 PostgreSQL 服务:
在迁移数据目录之前,确保停止 PostgreSQL 服务以防止数据损坏。
可以使用以下命令停止 PostgreSQL 服务:
sudo systemctl stop postgresql@14-main
或者:
sudo service postgresql stop
- 移动数据目录:
将 PostgreSQL 数据目录从原来的位置移动到/data
目录下。
假设原数据目录路径是/var/lib/postgresql/14/main
,可以使用以下命令将其移动到/data
目录下:
sudo mv /var/lib/postgresql/14/main /data
- 更新配置文件:
编辑 PostgreSQL 的配置文件postgresql.conf
和pg_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
中使用了绝对路径来定义访问控制规则,也需要更新这些路径。
- 更改数据目录的权限:
确保 PostgreSQL 用户对新的数据目录拥有适当的权限。你可以使用以下命令更改权限:
sudo chown -R postgres:postgres /data/main
- 重新启动 PostgreSQL 服务:
完成以上步骤后,重新启动 PostgreSQL 服务使更改生效:
sudo systemctl start postgresql@14-main
或者:
sudo service postgresql start
现在,PostgreSQL 数据目录已经成功迁移到 /data
目录下。确保验证数据库是否正常运行,并检查数据库是否可以正常访问和操作。