PostgreSQL数据目录迁移的全过程
作者:小马穿云
前言
生产环境中随着PostgreSQL数据库表数据的不断产生,数据库目录会不断增长,当磁盘空间不足时会有将PostgreSQL数据库数据目录迁移到其他目录的需求,下面详细介绍目录迁移过程。
一、查询当前数据目录
show data_directory;
二、停止数据库
pg_ctl stop
三、压缩数据库的data目录并拷贝到新目录解压
# 压缩命令: tar -czvf data.tar.gz data # 拷贝命令: cp data.tar.gz /var/pgsql # 解压命令: tar -xzvf data.tar.gz
四、新目录设置权限
# 修改归属用户命令: chown -R postgres:postgres /var/pgsql # 修改文件夹权限命令: chmod 700 /var/pgsql
五、修改环境变量
# 编辑postgres用户环境文件: vi /home/postgres/.bash_profile # 文件内容修改如下: export PGDATA=/var/pgsql/data # 配置文件立刻生效: source /home/postgres/.bash_profile
六、启动数据库
# 启动数据数据库 pg_ctl start
总结
若不设置环境变量也可以使用pg_ctl start -D /var/pgsql/data,通过指定新数据目录方式启动。
除了PostgreSQL目录迁移外,还有PostgreSQL数据文件夹迁移,下面给大家拓展一下postgresql数据库的数据文件夹迁移及存在的问题
postgresql最刚开始装的硬盘比较小,想将数据换到其他盘,软件位置不动!
数据文件夹的迁移方式如下
1、打开服务,停止postgresql数据库服务
2、将PostgreSQL\10\data复制到新的数据目录位置
3、运行,输入regedit打开注册表,修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-10
双击ImagePath,将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。
4、重启服务,尝试重新连接登入,若无法启动,请确认:软件和数据是否在同一硬盘或分区?
经测试,同一硬盘分区可以,不同硬盘不行,未测试同硬盘不同分区的情况。
没办法只能重装软件,重装前将PostgreSQL\10\data,将data复制到了其他位置。
在新的硬盘安装完成之后,用之前的data覆盖,数据完美迁移!
到此这篇关于PostgreSQL数据目录迁移的全过程的文章就介绍到这了,更多相关PostgreSQL目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!