最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql 切換 log、xlog日志的實(shí)現(xiàn)

 更新時(shí)間:2021年01月16日 09:56:34   作者:數(shù)據(jù)庫(kù)人生  
這篇文章主要介紹了postgresql 切換 log、xlog日志的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

os: centos 7.4

db: postgresql 9.6

切換log:

select pg_rotate_logfile();

切換xlog:

select pg_switch_xlog();

補(bǔ)充:postgresql流復(fù)制主從切換+resetxlog

主 192.168.3.46

從 192.168.3.47

現(xiàn)象:由于46主庫(kù)的xlog日志達(dá)到7T以上,磁盤(pán)空間不足,需要通過(guò)pg_resetxlog命令清日志。

解決:

1.修改postgresql參數(shù)

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命令清日志

操作過(guò)程:

1.停主機(jī)

#46
pg_ctl stop -D /data/postgresql/data

2.從節(jié)點(diǎn)提升

#47
pg_ctl promote -D /data/postgresql/data

以上兩步操作完后,發(fā)現(xiàn)無(wú)法連接pgpool,有以下提示:

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(配置文件沒(méi)有設(shè)置定期檢查),發(fā)現(xiàn)主庫(kù)無(wú)法連接;

第4行是pgool觸發(fā)故障轉(zhuǎn)移,將從庫(kù)提升為主庫(kù)(配置文件沒(méi)有配置自動(dòng)故障轉(zhuǎn)移,需命令pg_ctl premote手動(dòng)切換);

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

此參數(shù)導(dǎo)致pgpool在主庫(kù)無(wú)法連接的情況下,pgpool也無(wú)法登錄,導(dǎo)致客戶端無(wú)法連庫(kù)的現(xiàn)象。

此時(shí)通過(guò)show pool_nodes命令可以看到主庫(kù)(node id 為0)的狀態(tài)為down。

3.清除原主節(jié)點(diǎn)xlog

#46
#查看oid xid
pg_controldata -D /data/postgresql/data
#清日志
pg_resetxlog -o 24579 -x 58288 -f /data/postgresql/data

7T空間,清理時(shí)間大約30min。

4.重新同步數(shù)據(jù)

46作為47的slave,重新同步數(shù)據(jù)

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

默認(rèn)會(huì)等待主庫(kù)checkpoint后同步,為避免長(zhǎng)時(shí)間等待,在主控手動(dòng)checkpoint。

同步完成后:

mv recovery.done recovery.conf
pg_ctl start /data/postgresql/data

此時(shí)新的主從即可建立。

5.查看pgpool

[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)

此時(shí)發(fā)現(xiàn) 3.46在pgpool狀態(tài)仍然為down,需通過(guò)pcp命令將失效的節(jié)點(diǎn)重新加入集群。

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

其中0為node_id。

注意:

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

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

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • PostgreSQL利用遞歸優(yōu)化求稀疏列唯一值的方法

    PostgreSQL利用遞歸優(yōu)化求稀疏列唯一值的方法

    這篇文章主要介紹了PostgreSQL利用遞歸優(yōu)化求稀疏列唯一值的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • postgresql?IvorySQL新增命令及相關(guān)配置參數(shù)詳解

    postgresql?IvorySQL新增命令及相關(guān)配置參數(shù)詳解

    這篇文章主要為大家介紹了postgresql?IvorySQL新增命令及相關(guān)配置參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • postgreSQL使用pgAdmin備份服務(wù)器數(shù)據(jù)的方法

    postgreSQL使用pgAdmin備份服務(wù)器數(shù)據(jù)的方法

    這篇文章主要介紹了postgreSQL使用pgAdmin備份服務(wù)器數(shù)據(jù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧

    Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧

    本文給大家分享在Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧,給大家?guī)?lái)了詳細(xì)的安裝步驟,對(duì)Postgresql 安裝配置相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2021-05-05
  • PostgreSQL拼接字符串的方法

    PostgreSQL拼接字符串的方法

    使用concat()函數(shù)可以合并兩個(gè)或多個(gè)字符串,這篇文章主要介紹了PostgreSQL拼接字符串的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋

    postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋

    這篇文章主要介紹了postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Postgresql 解決pg掉電后無(wú)法重啟的問(wèn)題

    Postgresql 解決pg掉電后無(wú)法重啟的問(wèn)題

    這篇文章主要介紹了Postgresql 解決pg掉電后無(wú)法重啟的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 最新評(píng)論

    南昌县| 仪陇县| 永吉县| 龙山县| 苗栗县| 五寨县| 济阳县| 河源市| 巩义市| 泸溪县| 通河县| 浑源县| 宁都县| 东乌珠穆沁旗| 扎兰屯市| 建始县| 潢川县| 三江| 正阳县| 新余市| 新乡县| 漳州市| 太湖县| 长武县| 奉节县| 噶尔县| 固始县| 山丹县| 定远县| 浪卡子县| 都兰县| 原阳县| 琼中| 通榆县| 寿光市| 瓦房店市| 当阳市| 苍溪县| 宜阳县| 株洲县| 南乐县|