婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > pgsql之pg_stat_replication的使用詳解

pgsql之pg_stat_replication的使用詳解

熱門標(biāo)簽:移動(dòng)外呼系統(tǒng)模擬題 廣州電銷機(jī)器人公司招聘 400電話申請(qǐng)客服 江蘇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以下版本,字段名會(huì)有差異)此視圖包含以下信息:

\d 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ú)一無二的編號(hào)。該系統(tǒng)的工作原理很像UNIX。 usesysid 是 (PostgreSQL) 用戶連接到系統(tǒng)的唯一標(biāo)識(shí)符。

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

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

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

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

client_port這是客戶端用來和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這是寫到standby系統(tǒng)磁盤上最后的事務(wù)日志位置。

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

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。因此,可以看到誰處于連接狀態(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(對(duì)應(yīng)pg_stat_replication的client_addr字段)通過51519(對(duì)應(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, 可升級(jí)為同步的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)會(huì)變成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重新起來后又會(huì)變成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)問題,煩請(qǐng)?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)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品精品一区| 久久国产精品无码网站| 中文字幕日韩一区| 日av在线不卡| 国产.欧美.日韩| 精品国产乱码久久久久久久久 | 日韩欧美国产一区二区三区| 亚洲综合激情网| 欧美久久免费观看| 亚洲国产精品精华液网站| 欧美在线不卡视频| 蜜臀av国产精品久久久久| 久久综合中文字幕| 色综合咪咪久久| 奇米影视一区二区三区| 国产亚洲一二三区| 色又黄又爽网站www久久| 日韩主播视频在线| 国产欧美一区在线| 欧美三级电影在线看| 国产精品一区二区视频| 亚洲不卡av一区二区三区| 久久伊99综合婷婷久久伊| 91美女在线视频| 久久精品国产亚洲高清剧情介绍 | 一本到三区不卡视频| 日韩精品三区四区| 中文字幕精品一区二区三区精品| 色久优优欧美色久优优| 国产一区二区三区| 午夜久久电影网| 中文字幕亚洲一区二区va在线| 日本韩国欧美在线| 国产一区二区三区电影在线观看 | 中文字幕亚洲电影| 日韩欧美色综合| 欧美体内she精高潮| 国产99精品国产| 日本成人在线不卡视频| 最新国产の精品合集bt伙计| 日韩亚洲国产中文字幕欧美| 在线免费观看一区| 成人一级片网址| 国产资源精品在线观看| 日韩成人一区二区三区在线观看| 亚洲另类色综合网站| 欧美一级二级在线观看| 欧美日韩午夜影院| 欧洲色大大久久| 日本精品视频一区二区| www.欧美色图| 波多野洁衣一区| 福利一区在线观看| 亚洲一区日韩精品中文字幕| 黄一区二区三区| 亚洲国产视频在线| 国产午夜久久久久| 精品免费99久久| 色伊人久久综合中文字幕| 日本va欧美va精品发布| 亚洲免费观看在线视频| 亚洲精品一区二区三区蜜桃下载 | 777午夜精品免费视频| k8久久久一区二区三区 | 亚洲一区二区三区中文字幕在线| 亚洲国产高清aⅴ视频| 国产日韩v精品一区二区| 欧美tickling网站挠脚心| 日韩欧美国产一区在线观看| 日韩午夜激情视频| 日韩亚洲欧美在线| 久久人人97超碰com| 久久视频一区二区| 国产亚洲成aⅴ人片在线观看| 国产亚洲一二三区| 亚洲国产精品黑人久久久| 中文字幕精品三区| 亚洲综合视频在线观看| 亚洲自拍与偷拍| 亚洲成人在线观看视频| 亚洲黄色av一区| 国产精品久久看| 国产精品国产三级国产普通话三级| ●精品国产综合乱码久久久久| 一区二区激情视频| 奇米影视一区二区三区| 成人av资源在线观看| 色www精品视频在线观看| 国产福利视频一区二区三区| 成人久久18免费网站麻豆| 欧美三级资源在线| 精品国产乱子伦一区| 亚洲视频一区二区免费在线观看 | 国产成人8x视频一区二区| 成a人片亚洲日本久久| 欧美日韩精品三区| 久久久久成人黄色影片| 亚洲国产精品天堂| 丰满放荡岳乱妇91ww| 91精彩视频在线观看| 久久综合丝袜日本网| 亚洲国产美国国产综合一区二区| 久久精品国产99国产| 99re视频这里只有精品| 日韩精品一区二区三区在线| 国产精品国产自产拍高清av| 久久精品国产**网站演员| 一本色道久久综合狠狠躁的推荐| 日韩视频中午一区| 综合久久给合久久狠狠狠97色 | 香蕉加勒比综合久久| 国内欧美视频一区二区| 91亚洲国产成人精品一区二区三 | 欧美在线观看视频一区二区| 久久一区二区视频| 亚洲mv大片欧洲mv大片精品| 国产91综合网| 精品对白一区国产伦| 日本免费在线视频不卡一不卡二 | 99re这里只有精品首页| 欧美大胆人体bbbb| 亚洲成人av福利| 欧美在线free| 一区二区三区四区av| 风间由美一区二区av101| 久久久一区二区三区捆绑**| 一区二区欧美精品| 欧美亚洲免费在线一区| 一区二区三区加勒比av| 色哟哟日韩精品| 亚洲已满18点击进入久久| 91在线免费看| 亚洲人xxxx| 色哟哟精品一区| 一区二区三区精密机械公司| 91色porny| 亚洲美女视频在线观看| 色悠久久久久综合欧美99| 伊人夜夜躁av伊人久久| 欧美性大战久久久久久久| 日韩美女啊v在线免费观看| 国产传媒欧美日韩成人| 欧美经典一区二区| 97久久精品人人做人人爽50路| 国产精品丝袜一区| www..com久久爱| 亚洲人成网站色在线观看| 欧美在线观看一区| 琪琪久久久久日韩精品| 欧美成人a在线| 国产91在线观看| 亚洲裸体在线观看| 欧美天堂亚洲电影院在线播放| 亚洲bt欧美bt精品| 久久中文娱乐网| 99久久精品情趣| 一区二区三区中文字幕精品精品| 91香蕉视频污| 日韩中文字幕不卡| 国产亚洲成aⅴ人片在线观看| 97se亚洲国产综合自在线| 日韩精品1区2区3区| 国产亚洲一区二区三区四区 | 国产欧美一区二区精品秋霞影院| 精品在线一区二区三区| 国产欧美中文在线| 91在线观看一区二区| 三级影片在线观看欧美日韩一区二区| 99在线精品视频| 久久国产精品99精品国产| 国产精品国产a| 3atv一区二区三区| 亚洲精选视频在线| 色综合天天视频在线观看| 午夜视频在线观看一区| 日韩欧美卡一卡二| av不卡免费电影| 久久精品国产在热久久| 亚洲精品国久久99热| 久久中文娱乐网| 欧美精品一卡两卡| 91影院在线观看| 国产精品美女久久福利网站| 日韩免费福利电影在线观看| 国产精品中文字幕日韩精品| 亚洲一区二区三区四区在线观看| 精品精品国产高清一毛片一天堂| 色综合天天综合网天天狠天天| 狠狠色狠狠色综合系列| 首页国产欧美日韩丝袜| 亚洲视频免费观看| 久久免费视频色| 日韩视频在线你懂得| 91精品91久久久中77777| 韩国成人在线视频| 亚洲另类在线制服丝袜| 欧美国产精品专区| 欧美国产亚洲另类动漫| 精品福利一区二区三区免费视频| 欧美日韩高清不卡|