postgresql数据库路径迁移

迁移方法有两种:
(1)从新初始化 postgresql数据库,初始化时指定新的数据路径---PGDATA,而后在新的环境下将原有的数据库备份恢复一下。不过这个方法有点麻烦
(2)直接将现有的数据库文件所有拷贝到新的数据库路径下,而后重起数据库服务
第二种方法比较简单,所以,就详细描述一下第二种方法:
一、postgresql安装后,默认的数据库路径是/var/lib/pgsql/9.x/data
二、新建一个路径做为新的数据库数据路径,假如是/home/data
sudo mkdir /home/data
sudo chown -R postgres:postgres data
sudo chmod 700 data
最后这个赋权命令是必须的,否则数据库启动回有问题的
三、文件拷贝,
首先要中止postgresql服务
sudo systemctl stop postgresql
sudo su - postgres
cp -rf /var/lib/pgsql/9.x/data/* /home/data
四、修改service文件
找到/usr/lib/systemd/system/postgresql*.service
修改这个文件中的
Environment=PGDATA=/var/lib/pgsql/9.4/data/
将其修改成本身的新的数据路径:
Environment=PGDATA=/home/data/
至此全部的修改工做就完成了,这个方法比较简单,可是前提是postgresql已经做为服务添加到了systemctl,这一点须要注意
五、此时能够从新启动postgresql了,可是,尝试了几个方法都不能成功,只有重起一下系统,才能够
reboot系统
而后启动postgres服务
sudo systemctl restart posrgresql
全部的一切和原来同样同样地!顺利完成数据迁移。

为了不数据迁移的工做,从此再新部署postgresql时,应该考虑到系统分区的问题,要避免使用默认的数据路径sql


转载请注明:http://blog.csdn.net/shanzhizi数据库