欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > pgsql之pg_stat_replication的使用詳解

pgsql之pg_stat_replication的使用詳解

熱門標(biāo)簽:移動外呼系統(tǒng)模擬題 廣州電銷機(jī)器人公司招聘 400電話申請客服 江蘇400電話辦理官方 天津開發(fā)區(qū)地圖標(biāo)注app 地圖標(biāo)注要花多少錢 電話機(jī)器人怎么換人工座席 濟(jì)南外呼網(wǎng)絡(luò)電話線路 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎

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

\d pg_stat_replication

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

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

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

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

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

client_addr它會告訴您流連接從何而來。它擁有客戶端的IP地址。

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

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

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

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

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

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

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

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

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

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

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

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

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

ps -aux|grep 8225

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

bonus:

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

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

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

所以我們可以通過下面的方法獲取高可用架構(gòu)下從庫的復(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;

補(bǔ)充:PostgreSQL pg_stat_replication sync_state introduce

PostgreSQL 9.2引入同步復(fù)制后, pg_stat_replication的sync_state列有3種狀態(tài).

sync

async

potential

分別代表同步standby, 異步standby, 可升級為同步的standby.

狀態(tài)來自以下函數(shù) : pg_stat_get_wal_senders

[測試]

環(huán)境:

1個(gè) primary, 3個(gè) standby.

第一種配置 :

primary配置

postgresql.conf
synchronous_standby_names = 'test1,test2,test3'

standby1配置

primary_conninfo = 'application_name=test1 host=127.0.0.1 port=1999 user=postgres keepalives_idle=60'

standby2配置

primary_conninfo = 'application_name=test2 host=127.0.0.1 port=1999 user=postgres keepalives_idle=60'

standby3配置

primary_conninfo = 'application_name=test3 host=127.0.0.1 port=1999 user=postgres keepalives_idle=60'

primary查詢

digoal=# select pid,application_name,client_addr,sync_state from pg_stat_replication;
 pid | application_name | client_addr | sync_state 
------+------------------+-------------+------------
 6311 | test1   | 127.0.0.1 | sync
 6321 | test2   | 127.0.0.1 | potential
 6391 | test3   | 127.0.0.1 | potential
(3 rows)

如果sync節(jié)點(diǎn)掛掉, 按synchronous_standby_names的順序, 第一個(gè)potential節(jié)點(diǎn)會變成sync狀態(tài).

pg_ctl stop -m fast -D /pgdata11999
digoal=# select pid,application_name,client_addr,sync_state from pg_stat_replication;
 pid | application_name | client_addr | sync_state 
------+------------------+-------------+------------
 6564 | test2   | 127.0.0.1 | sync
 6568 | test3   | 127.0.0.1 | potential
(2 rows)

當(dāng)test1重新起來后又會變成sync狀態(tài).

pg93@db-172-16-3-33-> pg_ctl start -D /pgdata11999
server starting
digoal=# select pid,application_name,client_addr,sync_state from pg_stat_replication;
 pid | application_name | client_addr | sync_state 
------+------------------+-------------+------------
 6564 | test2   | 127.0.0.1 | potential
 6605 | test1   | 127.0.0.1 | sync
 6568 | test3   | 127.0.0.1 | potential
(3 rows)

第二種配置 :

primary配置

synchronous_standby_names = 'test1,test2'

standby1配置不變

standby2配置不變

standby3配置不變

primary查詢

digoal=# select pid,application_name,client_addr,sync_state from pg_stat_replication;
 pid | application_name | client_addr | sync_state 
------+------------------+-------------+------------
 6470 | test1   | 127.0.0.1 | sync
 6472 | test3   | 127.0.0.1 | async
 6474 | test2   | 127.0.0.1 | potential
(3 rows)

test3變成異步了. 因?yàn)閠est3沒有配置在primary的synchronous_standby_names 中.

第三種配置 :

primary配置

synchronous_standby_names = 'test1'

standby1配置不變

standby2配置不變

standby3配置不變

primary查詢

digoal=# select pid,application_name,client_addr,sync_state from pg_stat_replication;
 pid | application_name | client_addr | sync_state 
------+------------------+-------------+------------
 6519 | test2   | 127.0.0.1 | async
 6521 | test3   | 127.0.0.1 | async
 6523 | test1   | 127.0.0.1 | sync
(3 rows)

test2,test3變成異步了. 因?yàn)閠est2,test3沒有配置在primary的synchronous_standby_names 中.

1. src/backend/replication/walsender.c

/*
 * Returns activity of walsenders, including pids and xlog locations sent to
 * standby servers.
 */
Datum
pg_stat_get_wal_senders(PG_FUNCTION_ARGS)
{
...略
   /*
    * More easily understood version of standby state. This is purely
    * informational, not different from priority.
    */
   if (sync_priority[i] == 0)
    values[7] = CStringGetTextDatum("async");
   else if (i == sync_standby)
    values[7] = CStringGetTextDatum("sync");
   else
    values[7] = CStringGetTextDatum("potential");
...略

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

您可能感興趣的文章:
  • PostgreSQL 恢復(fù)誤刪數(shù)據(jù)的操作
  • 在postgreSQL中運(yùn)行sql腳本和pg_restore命令方式
  • PostgreSQL物理備份恢復(fù)之 pg_rman的用法說明

標(biāo)簽:濮陽 杭州 昭通 溫州 榆林 辛集 寶雞 海西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pgsql之pg_stat_replication的使用詳解》,本文關(guān)鍵詞  pgsql,之,stat,replication,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pgsql之pg_stat_replication的使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于pgsql之pg_stat_replication的使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    狠狠色丁香婷婷综合| 国精产品一区一区| 欧美午夜精品电影| 亚洲欧美另类图片小说| 懂色av一区二区三区免费看| jizzjizz日本少妇| 国产女主播一区| 日韩一本二本av| 夜夜嗨av一区二区三区中文字幕 | 91香蕉国产在线观看软件| 久久精品一区二区三区四区五区| 国产亚洲综合av| 国产精品资源在线看| 九九热久久免费视频| 国产网站一区二区三区| 国产原创一区二区| www.4hu95.com四虎| 欧美国产日韩一二三区| 岛国精品在线观看| 色网站国产精品| 亚洲一区二区三区美女| 国产情侣久久久久aⅴ免费| 欧美精品777| 日韩av中文在线观看| 香蕉视频黄色在线观看| 久久综合色婷婷| 国产成人8x视频一区二区| 久久免费看少妇高潮v片特黄 | 在线观看国产一区二区| 亚洲精品综合在线| www.四虎精品| 欧美成人精品福利| 国产精品自拍av| 在线视频一区二区免费| 亚洲成av人在线观看| 播金莲一级淫片aaaaaaa| 久久奇米777| 成人午夜免费av| 在线国产亚洲欧美| 日韩在线卡一卡二| 日本一二三不卡视频| 一区免费观看视频| 东京热av一区| 久久久亚洲国产美女国产盗摄| 国产成人午夜高潮毛片| 在线亚洲一区观看| 蜜臀av国产精品久久久久| 五月天免费网站| 亚洲精品中文在线| 无码人妻精品一区二区三区温州| 日本一区二区三区视频视频| 91亚洲精品一区二区乱码| 9191久久久久久久久久久| 精品伊人久久久久7777人| 日本一级二级视频| 午夜电影久久久| 国产精品综合激情| 一级特黄大欧美久久久| 国产肥白大熟妇bbbb视频| 国产精品乱码妇女bbbb| 亚洲一区二区三区四区av| 精品国产91久久久久久久妲己| 成人av在线网站| 日韩一区二区免费高清| 成人午夜碰碰视频| 日韩一区二区精品葵司在线| 国产不卡视频在线观看| 欧美性欧美巨大黑白大战| 毛片av一区二区| 91国在线观看| 精品一区二区三区在线观看| 在线观看日韩精品| 精东粉嫩av免费一区二区三区| 在线免费一区三区| 精品一区二区三区影院在线午夜| 色哟哟精品一区| 精品一区二区三区久久久| 欧美日韩亚洲综合一区二区三区| 美女视频网站久久| 91福利社在线观看| 九九视频精品免费| 欧美夫妻性生活| 不卡的电视剧免费网站有什么| 日韩午夜小视频| 91丨九色丨尤物| 久久久www成人免费毛片麻豆 | 欧美人狂配大交3d怪物一区| 国产精品一区在线观看乱码 | 性感美女久久精品| xxxx日本少妇| 麻豆国产欧美日韩综合精品二区| 欧美伊人精品成人久久综合97 | www.毛片com| 蜜桃一区二区三区四区| 欧美日韩国产精品成人| 成人爽a毛片一区二区免费| 久久综合色天天久久综合图片| 尤物网站在线观看| 悠悠色在线精品| 精品国产欧美日韩不卡在线观看 | 亚洲午夜久久久久久久久电影网| 国产亚洲精品久久久久久豆腐| 日韩不卡在线观看日韩不卡视频| 在线观看日韩电影| 不卡的看片网站| 国产精品免费网站在线观看| 欧美午夜激情影院| 毛片av一区二区三区| 日韩一级片在线观看| 亚洲少妇一区二区| 亚洲免费观看高清完整版在线观看熊 | 被黑人猛躁10次高潮视频| 亚洲国产精品黑人久久久| 国产又粗又猛又爽视频| 三级欧美韩日大片在线看| 欧美挠脚心视频网站| 久久久久亚洲av无码麻豆| 亚洲人成网站色在线观看| 一区二区视频免费看| 成人免费不卡视频| 国产精品美女一区二区| 亚洲AV成人无码网站天堂久久| 国产一区啦啦啦在线观看| 精品电影一区二区| 亚洲色成人网站www永久四虎| 免费日韩伦理电影| 欧美成人女星排行榜| 日本japanese极品少妇| 日日夜夜一区二区| 91精品国产手机| 人妻丰满熟妇av无码久久洗澡| 午夜伊人狠狠久久| 91精品久久久久久久久99蜜臂| 婷婷五月精品中文字幕| 午夜精品久久久久久久久久久| 欧美人xxxx| 免费成人深夜夜行p站| 奇米在线7777在线精品 | 日韩一级二级三级| www.久久国产| 久久成人羞羞网站| 国产欧美日韩三区| 男人与禽猛交狂配| 99国产精品99久久久久久| 一区二区三区精品| 91精品蜜臀在线一区尤物| 国产男男chinese网站| 国产一区在线视频| 国产精品乱码人人做人人爱| 日本高清不卡一区| 日本性生活一级片| 亚洲chinese男男1069| 日韩欧美亚洲国产精品字幕久久久| 人妻熟女aⅴ一区二区三区汇编| 久久99精品久久久久久国产越南| 久久久美女艺术照精彩视频福利播放| 天堂а√在线中文在线鲁大师| av中文字幕亚洲| 亚洲二区在线视频| 精品国产精品网麻豆系列| 久久国产波多野结衣| 一区二区三区人妻| 美日韩一区二区三区| 国产精品美女久久久久久久| 在线观看欧美日本| a毛片毛片av永久免费| 国产东北露脸精品视频| 亚洲精品中文字幕在线观看| 99v久久综合狠狠综合久久| 婷婷亚洲久悠悠色悠在线播放 | 欧美一区欧美二区| 国产黄色大片免费看| www.亚洲国产| 日日欢夜夜爽一区| 欧美激情一区二区三区蜜桃视频| 在线日韩国产精品| 亚洲最大成人网站| 99久久精品情趣| 日本中文字幕一区二区有限公司| 久久精品视频免费观看| 色94色欧美sute亚洲线路一ni| 日本黄色动态图| 成人一区在线看| 午夜不卡av免费| 国产精品天美传媒沈樵| 欧美精品三级日韩久久| 欧美成人短视频| 久草免费资源站| 国产精品一二三四五| 亚洲福利电影网| 国产精品免费丝袜| 日韩三级高清在线| 91国偷自产一区二区开放时间 | 日本一区二区三区在线免费观看| 美女诱惑一区二区| 一区二区三区成人在线视频| www日韩大片| 欧美酷刑日本凌虐凌虐| 三级黄色片在线观看| 人妻无码中文久久久久专区|