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

PostgreSQL 流復(fù)制異步轉(zhuǎn)同步的操作

 更新時(shí)間:2020年12月31日 08:40:55   作者:董董-醬  
這篇文章主要介紹了PostgreSQL 流復(fù)制異步轉(zhuǎn)同步的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

非常重要的synchronous_commit參數(shù)

流復(fù)制的同步方式,有主庫配置文件postgresql.conf,中的synchronous_commit控制著。所以理解該參數(shù)的配置十分重要。

單實(shí)例環(huán)境

參數(shù)值 說明 優(yōu)點(diǎn) 缺點(diǎn)
on 或 local 當(dāng)事務(wù)提交時(shí),WAL先寫入WAL buffer 再寫到 WAL文件(落盤)中。設(shè)置為on表示提交事務(wù)時(shí)需要等待本地WAL最終落盤后,才向客戶端返回成功。 非常安全 數(shù)據(jù)庫性能有損耗
off 當(dāng)事務(wù)提交時(shí),不需要等待WAL先寫入WAL buffer 再寫到 WAL文件(落盤)中。 提升數(shù)據(jù)庫性能 數(shù)據(jù)庫宕機(jī)是最新提交的少量事務(wù)可能丟失

流復(fù)制環(huán)境

參數(shù)值 說明 優(yōu)點(diǎn) 缺點(diǎn)
remote_write 當(dāng)主庫提交事務(wù)后,需等待備庫接收主庫發(fā)送的WAL日志流并寫入WAL buffer, 就向客戶端返回成功 只有主庫的WAL是落盤的 事務(wù)響應(yīng)時(shí)間快
on 當(dāng)主庫提交事務(wù)后,需等待備庫接收主庫發(fā)送的WAL日志流并寫入WAL buffer 以及寫入WAL文件, 就向客戶端返回成功 主、備庫WAL均落盤,有兩份持有化文件保護(hù) 事務(wù)響應(yīng)時(shí)間相對較慢
remote_apply 當(dāng)主庫提交事務(wù)后,需等待備庫接收主庫發(fā)送的WAL日志流并寫入WAL buffer 以及寫入WAL文件, 同時(shí)備庫apply之后, 就向客戶端返回成功 數(shù)據(jù)保護(hù)最好 影響事務(wù)性能

查看同步情況

在主庫執(zhí)行以下SQL , sync_state字段為async表示異步同步方式

postgres=# select usename , application_name , client_addr,sync_state from pg_stat_replication;
 usename | application_name | client_addr | sync_state 
---------+------------------+----------------+------------
 repuser | walreceiver | 192.168.56.102 | async
(1 row)

配置同步復(fù)制

主庫配置postgresql.conf文件

[postgres@pg01 data]$ vi postgresql.conf 
synchronous_commit = on
synchronous_standby_names = 'walreceiver'

synchronous_commit : 開篇提到的那個重要參數(shù)!

synchronous_standby_names: 這里的name填寫,剛剛查詢到的application_name。

重啟主庫服務(wù)

[root@pg01 PG_12_201909212]# service postgresql-12 restart
Stopping postgresql-12 service:    [ OK ]
Starting postgresql-12 service:    [ OK ]

再次查看主庫字典

postgres=# select usename , application_name , client_addr,sync_state from pg_stat_replication;
 usename | application_name | client_addr | sync_state 
---------+------------------+----------------+------------
 repuser | walreceiver | 192.168.56.102 | sync

數(shù)據(jù)保護(hù)測試

關(guān)閉備庫。模擬備庫宕機(jī)無法正常接收WAL

[root@pg02 ~]# service postgresql-12 stop
Stopping postgresql-12 service:    [ OK ]

主庫嘗試進(jìn)行DML操作

dong=# insert into t1 select * from t1;
Cancel request sent
WARNING: canceling wait for synchronous replication due to user request
DETAIL: The transaction has already committed locally, but might not have been replicated to the standby.
INSERT 0 8

由于備庫已關(guān)閉,無法接受從主庫傳來的WAL,根據(jù)同步規(guī)則,主庫需要一直等待主庫接收到WAL的消息。

手動進(jìn)行了cancel, 數(shù)據(jù)庫報(bào)錯。說明在等待備庫reguest相應(yīng)。

所以,sync同步模式雖然可以很好的保護(hù)數(shù)據(jù),但同時(shí)也帶來了性能的影響,需慎重

補(bǔ)充:PostgreSQL 流復(fù)制數(shù)據(jù)同步檢查

如何分辨主、備

看進(jìn)程

主庫 – walwriter

[root@pg01 PG_12_201909212]# ps -ef| grep wal
postgres 21157 21151 0 15:57 ?  00:00:00 postgres: walwriter         
postgres 21168 21151 0 15:57 ?  00:00:00 postgres: walsender repuser 192.168.56.102(38473) streaming 0/2A0001C0

備庫 – walreceiver

[root@pg02 ~]# ps -ef | grep wal
postgres 13383 13369 0 14:08 ?  00:00:01 postgres: walreceiver streaming 0/2A0001C0   

函數(shù)方法

一句話判斷哪個是主庫、哪個是備庫,返回的值:

f 為主庫

t 為備庫

postgres=# select pg_is_in_recovery();
 pg_is_in_recovery 
-------------------
 f
(1 row)

那我這個就是主庫嘍~

檢查流復(fù)制同步情況

先確定主庫傳到哪兒了

在確定備庫接收到哪兒了

最后確定備庫應(yīng)用到哪兒了

檢查主庫傳輸

確定主庫傳到什么位置了

postgres=# select pg_current_wal_lsn();
 pg_current_wal_lsn 
--------------------
 0/2A0001C0
(1 row)

檢查備庫恢復(fù)

確定備庫接收到哪兒了

postgres=# select pg_last_wal_receive_lsn();
 pg_last_wal_receive_lsn 
-------------------------
 0/2A0001C0
(1 row)

確定備庫應(yīng)用到哪兒了

postgres=# select pg_last_wal_replay_lsn();
 pg_last_wal_replay_lsn 
------------------------
 0/2A0001C0
(1 row)

最近事務(wù)應(yīng)用的時(shí)間

postgres=# select pg_last_xact_replay_timestamp();
 pg_last_xact_replay_timestamp 
-------------------------------
 2020-03-05 15:20:22.125688+08
(1 row)

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

相關(guān)文章

  • postgresql查詢自動將大寫的名稱轉(zhuǎn)換為小寫的案例

    postgresql查詢自動將大寫的名稱轉(zhuǎn)換為小寫的案例

    這篇文章主要介紹了postgresql查詢自動將大寫的名稱轉(zhuǎn)換為小寫的案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Ubuntu中卸載Postgresql出錯的解決方法

    Ubuntu中卸載Postgresql出錯的解決方法

    這篇文章主要給大家介紹了關(guān)于在Ubuntu中卸載Postgresql出錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • PostgreSQL中如何將對象oid和對象名相互轉(zhuǎn)換

    PostgreSQL中如何將對象oid和對象名相互轉(zhuǎn)換

    文章介紹了在PostgreSQL中如何使用內(nèi)部數(shù)據(jù)類型將對象OID(對象標(biāo)識符)轉(zhuǎn)換為對象名,從而簡化系統(tǒng)視圖的關(guān)聯(lián)查詢,文章還提供了不同類型OID與對象名之間的轉(zhuǎn)換關(guān)系,并通過示例展示了如何將對象名轉(zhuǎn)換為OID
    2024-11-11
  • CentOS 9 Stream 上安裝 PostgreSQL 16的步驟

    CentOS 9 Stream 上安裝 PostgreSQL 16的步

    在CentOS9Stream上安裝PostgreSQL16,首先添加PostgreSQL官方倉庫,然后禁用系統(tǒng)自帶PostgreSQL版本,避免沖突,使用dnf命令安裝PostgreSQL16,并初始化數(shù)據(jù)庫,本文給大家介紹CentOS 9 Stream 上安裝 PostgreSQL 16的步驟,感興趣的朋友一起看看吧
    2024-11-11
  • PostgreSQL事務(wù)回卷實(shí)戰(zhàn)案例詳析

    PostgreSQL事務(wù)回卷實(shí)戰(zhàn)案例詳析

    前段時(shí)間在公司小范圍做了一個關(guān)于PG事務(wù)實(shí)現(xiàn)的講座,最后總結(jié)了一個摘要性的東西,分享一下,這篇文章主要給大家介紹了關(guān)于PostgreSQL事務(wù)回卷實(shí)戰(zhàn)案例的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 關(guān)于PostgreSQL JSONB的匹配和交集問題

    關(guān)于PostgreSQL JSONB的匹配和交集問題

    這篇文章主要介紹了PostgreSQL JSONB的匹配和交集問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于PostgreSql數(shù)據(jù)庫與mysql數(shù)據(jù)庫的不同點(diǎn)以及注意事項(xiàng)

    關(guān)于PostgreSql數(shù)據(jù)庫與mysql數(shù)據(jù)庫的不同點(diǎn)以及注意事項(xiàng)

    PostgreSQL和MySQL是兩種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它們都可以用來存儲和管理數(shù)據(jù),但是它們在某些方面有所不同,下面這篇文章主要給大家介紹了關(guān)于PostgreSql數(shù)據(jù)庫與mysql數(shù)據(jù)庫的不同點(diǎn)以及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • PostgreSQL的upsert實(shí)例操作(insert on conflict do)

    PostgreSQL的upsert實(shí)例操作(insert on conflict do)

    這篇文章主要介紹了PostgreSQL的upsert實(shí)例操作(insert on conflict do),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL歸檔配置及自動清理歸檔日志的操作

    PostgreSQL歸檔配置及自動清理歸檔日志的操作

    這篇文章主要介紹了PostgreSQL歸檔配置及自動清理歸檔日志的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql關(guān)于like%xxx%的優(yōu)化操作

    postgresql關(guān)于like%xxx%的優(yōu)化操作

    這篇文章主要介紹了postgresql關(guān)于like%xxx%的優(yōu)化操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論

调兵山市| 无棣县| 双辽市| 山丹县| 酒泉市| 禹州市| 土默特左旗| 林州市| 肃南| 建宁县| 五家渠市| 沂南县| 扶绥县| 平罗县| 凉城县| 天祝| 台东县| 泗阳县| 开封市| 嵩明县| 巫溪县| 威信县| 台北市| 四平市| 博客| 鄂托克旗| 清徐县| 克山县| 饶河县| 西贡区| 天水市| 大同县| 炉霍县| 固始县| 蓬莱市| 凤台县| 长海县| 牙克石市| 拉孜县| 郁南县| 临沂市|