因爲現有的pg環境負載過高,需要把現在的數據庫遷移到新的環境中
如果數據量不大可以使用方法一
方法一:
pgsql遷移數據庫到不同網段新的庫,新的數據庫環境主從高可用環境已經配置完成。
首先備份老的庫(-U指數據庫用戶名,-d指數據庫名)
$ pg_dump -U postgres -d npas > npas20200610.sql
壓縮
$ tar -zcf npas20200610.tar.gz npas20200610.sql
把文件傳到新的環境中,解壓縮
$ tar -xzf npas20200610.tar.gz
導入數據庫
$ psql -U postgres -d npas < npas20200610.sql
但是實際上數據量有五六千萬,五十多GB,使用上邊的方法會很耗時,所以使用下面的方法
方法二:
新老環境在一個網段中
首先停止老的數據庫相應的業務,然後停止數據庫服務和keepalived服務
然後在主庫環境中編譯postgresql
使用下面命令清理pg_archive目錄下的最新文件之前的歸檔文件
$ pg_archivecleanup ./ filename
把老環境中的/data/pg_data目錄下的所有文件傳送到新的環境中的/data/pg_data目錄下,修改配置文件,啓動服務
主從同步數據