精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

PostgreSQL主從切換實例測試分析

這篇文章主要介紹“PostgreSQL主從切換實例測試分析”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“PostgreSQL主從切換實例測試分析”文章能幫助大家解決問題。

成都創新互聯公司是專業的興山網站建設公司,興山接單;提供成都網站制作、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行興山網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

說明

在PostgreSQL(HOT-Standby)如主庫出現異常。備庫如何激活;來替換主庫工作。有下列2種方式

備庫在recovery.conf文件中有個配置項trigger_file。它是激活standby的觸發文件。當它存在;就會激活standby。
使用pg_ctl promote來激活。

演示

模擬演示主庫異常關機,將備庫切換為主庫,然后原主庫修復后切換為新的備庫繼續工作。

環境說明

主機名

IP地址

角色

數據目錄

master

192.168.20.133

主庫

/var/lib/pgsql/11/data

slave

192.168.20.134

備庫

/var/lib/pgsql/11/data

查看當前環境狀態

主庫

lei=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid              | 3274
usesysid         | 16774
usename          | repuser
application_name | walreceiver
client_addr      | 192.168.20.134
client_hostname  | slave
client_port      | 49896
backend_start    | 2019-05-30 02:40:58.253032-04
backend_xmin     |
state            | streaming
sent_lsn         | 0/180003C8
write_lsn        | 0/180003C8
flush_lsn        | 0/180003C8
replay_lsn       | 0/180003C8
write_lag        |
flush_lag        |
replay_lag       |
sync_priority    | 0
sync_state       | async

主庫關閉

[root@master data]# systemctl stop postgresql-11

激活備庫

作為新主庫運行,刪除數據庫lei中表test并創建表tt

[postgres@slave ~]$ pg_ctl -D /var/lib/pgsql/11/data/ promote
waiting for server to promote.... done
server promoted

刪除表test,創建表tt

[postgres@slave ~]$ psql lei;
psql (11.3)
Type "help" for help.

lei=# \dt
        List of relations
 Schema | Name | Type  |  Owner
--------+------+-------+----------
 public | lei  | table | postgres
 public | t    | table | postgres
 public | test | table | postgres
(3 rows)

lei=# drop table test;
DROP TABLE
lei=# create table tt(id int);
CREATE TABLE

手動切換幾次WAL日志

lei=# select pg_switch_wal();
 pg_switch_wal
---------------
 0/19019058
(1 row)

lei=# select pg_switch_wal();
 pg_switch_wal
---------------
 0/1A000078
(1 row)

lei=# select pg_switch_wal();
 pg_switch_wal
---------------
 0/1B000000
(1 row)

恢復原主庫

用pg_rewind命令同步新備庫

[postgres@master ~]$ pg_rewind --target-pgdata /var/lib/pgsql/11/data/ --source-server='host=slave port=5432 user=postgres dbname=postgres' -P
connected to server
servers diverged at WAL location 0/19000098 on timeline 3
rewinding from last common checkpoint at 0/19000028 on timeline 3
reading source file list
reading target file list
reading WAL in target
need to copy 133 MB (total source directory size is 165 MB)
136230/136230 kB (100%) copied
creating backup label and updating control file
syncing target data directory
Done!

修改recovery.conf文件
由于配置是同步過來的,所以需要修改一下配置primary_conninfo

[postgres@master ~]$ mv /var/lib/pgsql/11/data/recovery.done /var/lib/pgsql/11/data/recovery.conf
[postgres@master ~]$ vi /var/lib/pgsql/11/data/recovery.conf
primary_conninfo = 'host=slave port=5432 user=replica password=replica'

啟動新備庫

[root@master data]# systemctl start postgresql-11

查看數據是否同步過來
可以看到表test沒有了,多了tt表

postgres=# \c lei;
You are now connected to database "lei" as user "postgres".
lei=# \dt
        List of relations
 Schema | Name | Type  |  Owner
--------+------+-------+----------
 public | lei  | table | postgres
 public | t    | table | postgres
 public | tt   | table | postgres
(3 rows)

主庫查看進程狀態

lei=# \x
Expanded display is on.
lei=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid              | 8625
usesysid         | 16774
usename          | repuser
application_name | walreceiver
client_addr      | 192.168.20.133
client_hostname  | master
client_port      | 55306
backend_start    | 2019-05-30 03:26:14.645623-04
backend_xmin     |
state            | streaming
sent_lsn         | 0/1E0000D0
write_lsn        | 0/1E0000D0
flush_lsn        | 0/1E0000D0
replay_lsn       | 0/1E0000D0
write_lag        | 00:00:00.001552
flush_lag        | 00:00:00.002167
replay_lag       | 00:00:00.002169
sync_priority    | 0
sync_state       | async

如果有異常信息,請查看數據庫日志來定位問題,通常問題都是出現在幾個配置文件中。

  • pg_hba.conf

  • postgresql.conf

  • recovery.conf

至此PG主備就切換完成了!

關于“PostgreSQL主從切換實例測試分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注創新互聯行業資訊頻道,小編每天都會為大家更新不同的知識點。


本文標題:PostgreSQL主從切換實例測試分析
瀏覽路徑:http://m.jcarcd.cn/article/iisjce.html
主站蜘蛛池模板: 日本遊學打 | 欧美日韩激情 | 国产亚洲午夜福 | 九色蝌蚪91 | 欧美在线精品 | 国产女人十八毛 | 中文字幕日韩一级 | 精品二区三区特黄 | 97视频在线| 国产精品欧美在线 | 不卡午夜 | 国产户外一 | 三区免费观看 | 国产精品秘蜜蕾丝袜 | 国产福利导航大全 | 国产性情精品在线 | 国产高清国内精品 | 99re在线视 | 国产高清精品 | 日本在线免费一区 | 日本在线一区二区 | 福利秀视频在线播放 | 国产盗摄xxxx | 日韩欧美一二区 | 区二区视频在线观看 | 国内揄拍国内精品视 | 欧美日韩成人在看 | 国产玉足在线 | 欧美三级 | 成人午夜影视 | 欧美性一区二区三区 | 成人午夜羞羞网站 | 日本高清成人 | 日韩成人3D动漫 | 日韩一区免费视频 | 海量资源每 | 99一区二区三区 | 蜜桃视频高清免费 | 国产伦理| 最新国产在线拍揄自揄视频 | 日韩亚洲国|