一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - PostgreSQL - postgresql 切換 log、xlog日志的實現

postgresql 切換 log、xlog日志的實現

2021-03-26 20:35數據庫人生 PostgreSQL

這篇文章主要介紹了postgresql 切換 log、xlog日志的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

os: centos 7.4

db: postgresql 9.6

切換log

?
1
select pg_rotate_logfile();

切換xlog

?
1
select pg_switch_xlog();

補充:postgresql流復制主從切換+resetxlog

主 192.168.3.46

從 192.168.3.47

現象:由于46主庫的xlog日志達到7T以上,磁盤空間不足,需要通過pg_resetxlog命令清日志。

解決:

 

1.修改postgresql參數

?
1
2
3
4
5
checkpoint_timeout = 60min   # range 30s-1d
max_wal_size = 4GB
min_wal_size = 1GB
checkpoint_completion_target = 0.9
wal_keep_segments = 50

2.pg_resetxlog命令清日志

操作過程:

 

1.停主機

?
1
2
#46
pg_ctl stop -D /data/postgresql/data

2.從節點提升

?
1
2
#47
pg_ctl promote -D /data/postgresql/data

以上兩步操作完后,發現無法連接pgpool,有以下提示:

?
1
2
3
4
5
6
11370 Apr 10 21:04:00 usvr47 pgpool[21766]: [11-1] 2019-04-10 21:04:00: pid 21766: LOG: new connection received
11371 Apr 10 21:04:00 usvr47 pgpool[21766]: [11-2] 2019-04-10 21:04:00: pid 21766: DETAIL: connecting host=usvr47.cityre.cn port=26224
11372 Apr 10 21:04:00 usvr47 pgpool[21766]: [12-1] 2019-04-10 21:04:00: pid 21766: LOG: failed to connect to PostgreSQL server on "192.168.3.46:5432", getsockopt() detected error "Connection refused"
11373 Apr 10 21:04:00 usvr47 pgpool[21766]: [13-1] 2019-04-10 21:04:00: pid 21766: LOG: degenerate backend request for node_id: 0 from pid [21766] is canceled because failover is disallowed on the node
11374 Apr 10 21:04:00 usvr47 pgpool[21766]: [14-1] 2019-04-10 21:04:00: pid 21766: FATAL: failed to create a backend connection
11375 Apr 10 21:04:00 usvr47 pgpool[21766]: [14-2] 2019-04-10 21:04:00: pid 21766: DETAIL: executing failover on backend

第3行是pgpool的健康檢查health_check(配置文件沒有設置定期檢查),發現主庫無法連接;

第4行是pgool觸發故障轉移,將從庫提升為主庫(配置文件沒有配置自動故障轉移,需命令pg_ctl premote手動切換);

但是pgpool中配置backend_flag1 = ‘DISALLOW_TO_FAILOVER' ,意思為不允許故障轉移,因此通過psql -p 9999 -h 192.168.3.45 -U postgres 無法登錄;將命令改為backend_flag0 = ‘ALLOW_TO_FAILOVER' 并reload后,可以登錄。

此參數導致pgpool在主庫無法連接的情況下,pgpool也無法登錄,導致客戶端無法連庫的現象。

此時通過show pool_nodes命令可以看到主庫(node id 為0)的狀態為down。

3.清除原主節點xlog

?
1
2
3
4
5
#46
#查看oid xid
pg_controldata -D /data/postgresql/data
#清日志
pg_resetxlog -o 24579 -x 58288 -f /data/postgresql/data

7T空間,清理時間大約30min。

4.重新同步數據

46作為47的slave,重新同步數據

?
1
pg_basebackup -D /data/postgresql/data -Fp -Xs -v -P -h 192.168.3.47 -p 5432 -U repl

默認會等待主庫checkpoint后同步,為避免長時間等待,在主控手動checkpoint。

同步完成后:

?
1
2
mv recovery.done recovery.conf
pg_ctl start /data/postgresql/data

此時新的主從即可建立。

5.查看pgpool

?
1
2
3
4
5
6
7
8
9
10
[postgres@usvr-3-46 ~]$ psql -p 9999 -h 192.168.3.45 -U postgres
Password for user postgres:
psql (9.6.3)
Type "help" for help.
postgres=# show pool_nodes;
 node_id |  hostname  | port | status | lb_weight | role  | select_cnt | load_balance_node | replication_delay
---------+--------------+------+--------+-----------+---------+------------+-------------------+-------------------
 0    | 192.168.3.46 | 5432 |down   | 0.500000 | standby | 66014   | false       | 72
 1    | 192.168.3.47 | 5432 | up   | 0.500000 | primary | 66559   | true       | 0
(2 rows)

此時發現 3.46在pgpool狀態仍然為down,需通過pcp命令將失效的節點重新加入集群。

?
1
pcp_attach_node -U postgres -h 192.168.3.45 -p 9898 -n 0

其中0為node_id。

注意:

pcp命令的密碼讀取的文件為pcp.conf,如果忘密碼,可進行如下操作:

?
1
2
3
[root@usvr47 ~]# pg_md5 postgres
e8a48653851e28c69d0506508fb27fc5
[root@usvr47 ~]# echo "postgres:e8a48653851e28c69d0506508fb27fc5" >> pcp.conf

而不是通過命令pg_md5 -m -u postgres -p 生成密碼,放在pool_passwd文件中,此文件密碼為連接postgresql的密碼,一定要注意。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://ctypyb2002.blog.csdn.net/article/details/72771401

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品无码一区二区三区中文字幕 | 欧美亚洲国产另类在线观看 | 亚洲一欧洲中文字幕在线 | 全色黄大色黄大片爽一次 | 男人天堂视频网 | 日本免费在线播放 | 亚洲天堂免费看 | 精品一久久香蕉国产线看播放 | 日本aaaaa高清免费看 | 隔壁的漂亮邻居hd中文 | 精品区卡一卡2卡三免费 | 厕所rxxx| 娇妻被又大又粗又长又硬好爽 | 日本成熟 | 好姑娘在线观看完整版免费 | 亚洲精品AV无码永久无码 | 第一次不是你高清在线观看 | 五月色天在线视频综合观看 | 免费看片aⅴ免费大片 | 欧美人与禽杂交大片 | 亚洲娇小性hd| 99热免费在线| 国产亚洲精品一区久久 | 精品成人在线 | 五花大绑esebdsm国产 | 国产女王女m视频vk 国产农村一级特黄α真人毛片 | 天天爱天天操天天射 | 午夜视频一区二区 | 丝袜足液精子免费视频 | 欧美亚洲国产成人不卡 | 99视频精品全部免费观看 | 精品视频一区二区三区免费 | 成人福利在线观看 | 操爽| 欧美成人aaaa免费高清 | 热色综合 | 我被黑人彻底征服的全文 | 亚洲欧美日韩国产综合专区 | 日韩精品一区二区三区视频 | 贵妇的私人性俱乐部 | 婷婷丁香色综合狠狠色 |