1. 程式人生 > >postgresql 數據庫路徑遷移

postgresql 數據庫路徑遷移

備份 mkdir -- sql 數據庫 RF env log 數據庫服務 指定

遷移方法有兩種:
(1)重新初始化postgresql數據庫,初始化時指定新的數據路徑---PGDATA,然後在新的環境下將原有的數據庫備份恢復一下。不過這個方法有點麻煩
(2)直接將現有的數據庫文件全部拷貝到新的數據庫路徑下,然後重起數據庫服務
第二種方法比較簡單,因此,就詳細描述一下第二種方法:
1、postgresql安裝後,默認的數據庫路徑是/var/lib/pgsql/9.x/data
2、新建一個路徑作為新的數據庫數據路徑,假如是/home/data
sudo mkdir /home/data
sudo chown -R postgres:postgres data
sudo chmod 700 data
最後這個賦權命令是必須的,不然數據庫啟動回有問題的
3、文件拷貝,
首先要停止postgresql服務
sudo systemctl stop postgresql
sudo su - postgres
cp -rf /var/lib/pgsql/9.x/data/* /home/data
4、修改service文件
找到vim /usr/lib/systemd/system/postgresql*.service
修改這個文件中的
Environment=PGDATA=/var/lib/pgsql/9.4/data/
將其修改為自己的新的數據路徑:
Environment=PGDATA=/home/data/
至此所有的修改工作就完成了,這個方法比較簡單,但是前提是postgresql已經作為服務添加到了systemctl,這一點需要註意
5、此時可以重新啟動postgresql了,但是,嘗試了幾個方法都不能成功,只有重起一下系統,才可以
reboot系統
然後啟動postgres服務
sudo systemctl restart posrgresql
所有的一切和原來一樣一樣地!順利完成數據遷移。

為了避免數據遷移的工作,今後再新部署postgresql時,應該考慮到系統分區的問題,要避免使用默認的數據路徑

postgresql 數據庫路徑遷移