postgresql數據庫采用主從配置 在主庫正常從庫掛掉的情況下 重新對從庫配置
配置詳情:
主庫數據文件:100G
壓縮時間1小時40分鐘,壓縮后文件大小46G
解壓時間55分鐘
1 復制從庫之前配置的參數文件
進入pgsql 文件下面的data文件
1
2
3
4
|
#把pgsql的配置文件復制到/home 文件下 [root@postgre2 data]# cp pg_hba.conf /home/ [root@postgre2 data]# cp postgresql.conf /home/ [root@postgre2 data]# cp recovery.conf /home |
2、停下現有的從庫
從庫:
1
|
/usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop --從庫的data文件位置 |
1
2
3
4
5
|
[root@postgre2 ~]# su - postgres Last login: Tue Dec 22 13:32:15 CST 2020 on pts/0 -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop waiting for server to shut down.... done server stopped |
3、開啟主庫的備份狀態
主庫:
1
2
3
4
5
6
7
8
9
10
|
[root@postgre1 ~]# su - postgres Last login: Thu Dec 24 09:23:55 CST 2020 on pts/1 -bash-4.2$ psql psql (11.7) Type "help" for help. postgres=# select pg_start_backup('/tmp/backup'); pg_start_backup ----------------- 2/90000 |
–窗口不要退出
4、把主數據庫目錄拷貝到備庫目錄就可以了:
主庫:
數據庫目錄壓縮
1
2
3
|
[root@postgre1 pgsql]# pwd /u01/pgsql [root@postgre1 pgsql]# tar -zcvf data.tar.gz data |
從庫:
刪除從庫原來的data目錄
1
2
3
4
|
[root@postgre2 ~]# cd /u01/pgsql/ [root@postgre2 pgsql]# ls data [root@postgre2 pgsql]# rm -fr data/ |
主庫:
數據庫目錄遠程傳輸
1
|
[root@postgre1 pgsql]# sudo scp data.tar.gz root@postgre2:/u01/pgsql/data |
從庫:
解壓數據庫目錄
1
2
|
[root@postgre2 ~]# cd /u01/pgsql/ [root@postgre2 pgsql]# tar -zxvf data |
刪掉從主庫拷貝過來的postmaster.pid
1
2
|
[root@postgre2 pgsql]# cd data/ [root@postgre2 data]# rm -r postmaster.pid |
5、還原之前復制的recovery.conf文件
1
2
3
4
|
[root@postgre2 data]# cp /home/recovery.conf . [root@postgre2 data]# chown postgres:postgres recovery.conf [root@postgre2 data]# cp /home/postgresql.conf . [root@postgre2 data]# cp /home/pg_hba.conf . |
6、停下主庫備份
主庫:
1
2
3
4
5
6
|
postgres=# select pg_stop_backup(); NOTICE: pg_stop_backup complete, all required WAL segments have been archived pg_stop_backup ---------------- 0/640001F8 |
7、啟動備庫
從庫:
1
2
3
|
[root@postgre2 ~]# su - postgres Last login: Thu Dec 24 11:06:30 CST 2020 on pts/1 -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ start |
如果沒有啟動systemctl status postgresql-11或者log日志查看具體問題
如果從庫配置的時間過長,最后就會報錯,顯示找不到日志文件
但是只要主從配置好了,數據能從主庫自動同步從庫 就可以忽略錯誤
到此這篇關于PostgreSql從庫重新配置的詳情的文章就介紹到這了,更多相關PostgreSql從庫重新配置內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/yang_z_1/article/details/111603938