標籤:不能 sudo su 資料 var usr tar 庫檔案 完成 sql
遷移方法有兩種:
(1)重新初始化postgresql資料庫,初始化時指定新的資料路徑---PGDATA,然後在新的環境下將原有的Database Backup恢複一下。不過這個方法有點麻煩
(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 資料庫路徑遷移