下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 技術(shù)開(kāi)發(fā) > 數(shù)據(jù)庫(kù) > pgsql之pg_stat_replication的使用詳解

          pgsql之pg_stat_replication的使用詳解

          時(shí)間:2024-02-28 13:28作者:下載吧人氣:39

          pg_stat_replication是一個(gè)視圖,主要用于監(jiān)控一個(gè)基于流的設(shè)置,建議您 注意系統(tǒng)上稱作pg_stat_replication的視圖。(注:當(dāng)前版本為pg 10.0,10.0以下版本,字段名會(huì)有差異)此視圖包含以下信息:

          d pg_stat_replication

          pgsql之pg_stat_replication的使用詳解

          每個(gè)字段代碼的含義:

          pid 這代表負(fù)責(zé)流連接的wal_sender進(jìn)程的進(jìn)程ID。如果您在您的操作系統(tǒng)上檢查您進(jìn)程表,您應(yīng)該會(huì)找到一個(gè)帶有那個(gè)號(hào)碼的PostgreSQL進(jìn)程。

          usesysid 每個(gè)內(nèi)部用戶都有一個(gè)獨(dú)一無(wú)二的編號(hào)。該系統(tǒng)的工作原理很像UNIX。 usesysid 是 (PostgreSQL) 用戶連接到系統(tǒng)的唯一標(biāo)識(shí)符。

          usename  (不是用戶名, 注意少了 r)它存儲(chǔ)與用戶相關(guān)的 usesysid 的名字。這是客戶端放入到連接字符串中的東西。

          application_name這是同步復(fù)制的通常設(shè)置。它可以通過(guò)連接字符串傳遞到master。

          client_addr它會(huì)告訴您流連接從何而來(lái)。它擁有客戶端的IP地址。

          client_hostname除了客戶端的IP,您還可以這樣做,通過(guò)它的主機(jī)名來(lái)標(biāo)識(shí)客戶端。您可以通過(guò)master上的postgresql.conf中的log_hostname啟用DNS反向查找。

          client_port這是客戶端用來(lái)和WALsender進(jìn)行通信使用的TPC端口號(hào)。 如果不本地UNIX套接字被使用了將顯示-1。

          backend_start它告訴我們slave什么時(shí)間創(chuàng)建了流連接。

          state此列告訴我們數(shù)據(jù)的連接狀態(tài)。如果事情按計(jì)劃進(jìn)行,它應(yīng)該包含流信息。

          sent_lsn這代表發(fā)送到連接的最后的事務(wù)日志的位置。

          write_lsn這是寫(xiě)到standby系統(tǒng)磁盤(pán)上最后的事務(wù)日志位置。

          flush_lsn這是被刷新到standby系統(tǒng)的最后位置。(這里注意寫(xiě)和刷新之間的區(qū)別。寫(xiě)并不意味著刷新 。)

          replay_lsn這是slave上重放的最后的事務(wù)日志位置。

          sync_priority這個(gè)字段是唯一和同步復(fù)制相關(guān)的。每次同步復(fù)制將會(huì)選擇一個(gè)優(yōu)先權(quán) —sync_priority—會(huì)告訴您選擇了那個(gè)優(yōu)先權(quán)。

          sync_state最后您會(huì)看到slave在哪個(gè)狀態(tài)。這個(gè)狀態(tài)可以是

          async, sync, or potential。當(dāng)有一個(gè)帶有較高優(yōu)先權(quán)的同步slave時(shí),PostgreSQL會(huì)把slave 標(biāo)記為 potential。

          在這個(gè)系統(tǒng)視圖中每個(gè)記錄只代表一個(gè)slave。因此,可以看到誰(shuí)處于連接狀態(tài),在做什么任務(wù)。pg_stat_replication也是檢查slave是否處于連接狀態(tài)的一個(gè)好方法。

          上面說(shuō)到pid代表負(fù)責(zé)流連接的wal_sender進(jìn)程的進(jìn)程ID,我們?cè)跈C(jī)器上通過(guò)ps命令查看該進(jìn)程的狀態(tài):

          ps -aux|grep 8225

          pgsql之pg_stat_replication的使用詳解

          在Linux上我們可以看到那個(gè)進(jìn)程不僅有自己的作用 (在這種情況下, wal_sender),而且還帶有終端用戶的名字以及相關(guān)的網(wǎng)絡(luò)連接信息。在上圖中我們可以看到已經(jīng)有人從192.168.47.127(對(duì)應(yīng)pg_stat_replication的client_addr字段)通過(guò)51519(對(duì)應(yīng)pg_stat_replication的client_port字段))端口連接到了master。

          bonus:

          上面我們提到replay_lsn是slave上重放的最后的事務(wù)日志位置。

          pg_current_wal_lsn()函數(shù)的作用是獲取當(dāng)前的wal log的寫(xiě)位置。

          pg_wal_lsn_diff()函數(shù)的作用是計(jì)算兩個(gè)wal日志之間的差距。

          所以我們可以通過(guò)下面的方法獲取高可用架構(gòu)下從庫(kù)的復(fù)制延遲情況:

          SELECT
          pg_wal_lsn_diff(A .c1, replay_lsn) /(1024 * 1024) AS slave_latency_MB
          FROM
          pg_stat_replication,
          pg_current_wal_lsn() AS A(c1)
          WHERE client_addr=’%s’ and application_name = ‘%s’
          ORDER BY
          slave_latency_MB
          LIMIT 1;

          標(biāo)簽[db:關(guān)鍵字]

          相關(guān)下載

          查看所有評(píng)論+

          網(wǎng)友評(píng)論

          網(wǎng)友
          您的評(píng)論需要經(jīng)過(guò)審核才能顯示

          熱門(mén)閱覽

          最新排行

          公眾號(hào)

          主站蜘蛛池模板: 国产成人综合亚洲一区| 少妇无码AV无码一区| 国产午夜精品一区二区三区小说 | 国产一区二区三区福利| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 国产精品久久亚洲一区二区| 久久久91精品国产一区二区三区 | 中文字幕av一区| 97人妻无码一区二区精品免费| 中文字幕不卡一区| 国产精品免费一区二区三区 | 久久人妻av一区二区软件| 亚洲国产一区明星换脸| 成人精品一区久久久久| 国产一区在线播放| 国产精品一区二区四区| 国产精品美女一区二区| 波多野结衣一区在线| 美女视频一区二区| 无码毛片一区二区三区中文字幕| 一区五十路在线中出| 国产在线无码一区二区三区视频| 国精产品一区一区三区| 久久久精品人妻一区二区三区蜜桃 | 日韩精品一区二区三区国语自制 | 亚洲av日韩综合一区在线观看| 国产综合一区二区在线观看| 日本欧洲视频一区| 亚洲A∨精品一区二区三区下载| 日本在线电影一区二区三区| 香蕉视频一区二区| 精品乱码一区二区三区四区| 在线|一区二区三区| 日本亚洲成高清一区二区三区| 亚洲成a人一区二区三区| 精品一区二区三人妻视频| 国产精品99无码一区二区| 亚洲日韩国产欧美一区二区三区| 国产vr一区二区在线观看| 国产91大片精品一区在线观看| 一区二区三区免费精品视频|