pg_stat_replication怎么在pgsql数据库中使用

  介绍

这期内容当中小编将会给大家带来有关pg_stat_replication怎么在pgsql数据库中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

pg_stat_replication是一个视图,主要用于监控一个基于流的设置,建议您注意系统上称作pg_stat_replication的视图。(注:当前版本为pg 10.0, 10.0以下版本,字段名会有差异)此视图包含以下信息:

<代码> \ d pg_stat_replication

 pg_stat_replication怎么在pgsql数据库中使用“> </p> <p> <强>每个字段代码的含义:</强> </p> <p> ?<代码> pid </代码>这代表负责流连接的wal_sender进程的进程ID。如果您在您的操作系统上检查您进程表,您应该会找到一个带有那个号码的PostgreSQL进程。</p> <p> ?<代码> usesysid </代码>每个内部用户都有一个独一无二的编号。该系统的工作原理很像UNIX. usesysid是(PostgreSQL)用户连接到系统的唯一标识符。</p> <p> ?<代码> usename  </代码>,(不是用户名,注意少了r)它存储与用户相关的usesysid的名字。这是客户端放入到连接字符串中的东西。</p> <p> ?<代码> application_name </代码>这是同步复制的通常设置。它可以通过连接字符串传递到主人。</p> <p> ?<代码> client_addr </代码>它会告诉您流连接从何而来。它拥有客户端的IP地址。</p> <p> ?<代码> client_hostname </代码>除了客户端的IP,您还可以这样做,通过它的主机名来标识客户端。您可以通过主人上的postgresql.conf中的log_hostname启用DNS反向查找。</p> <p> ?<代码> client_port </代码>这是客户端用来和WALsender进行通信使用的TPC端口号。如果不本地UNIX套接字被使用了将显示1 . </p> <p> ?<代码> backend_start </代码>它告诉我奴隶们什么时间创建了流连接。</p> <p> ?<代码> </代码>此状态列告诉我们数据的连接状态。如果事情按计划进行,它应该包含流信息。</p> <p> ?<代码> sent_lsn </代码>这代表发送到连接的最后的事务日志的位置。</p> <p> ?<代码> write_lsn </代码>这是写到备用系统磁盘上最后的事务日志位置。</p> <p> ?<代码> flush_lsn </代码>这是被刷新到备用系统的最后位置。(这里注意写和刷新之间的区别。写并不意味着刷新。)</p> <p> ?<代码> replay_lsn </代码>这是奴隶上重放的最后的事务日志位置。</p> <p> ?<代码> sync_priority </代码>这个字段是唯一和同步复制相关的。每次同步复制将会选择一个优先权-sync_priority——会告诉您选择了那个优先权。</p> <p> ?<代码> sync_state </代码>最后您会看到奴隶在哪个状态。这个状态可以是</p> <p>异步,同步,或潜力。当有一个带有较高优先权的同步奴隶时,PostgreSQL会把奴隶标记为潜力。</p> <p>在这个系统视图中每个记录只代表一个奴隶。因此,可以看到谁处于连接状态,在做什么任务.pg_stat_replication也是检查奴隶是否处于连接状态的一个好方法。</p> <p>上面说到pid代表负责流连接的wal_sender进程的进程ID,我们在机器上通过ps命令查看该进程的状态:</p> <p> ps辅助| grep 8225 </p> <p> <img src=,选择   ,,pg_wal_lsn_diff (A  .c1, replay_lsn),/(1024, *, 1024), AS  slave_latency_MB   ,从   ,,pg_stat_replication,   ,,pg_current_wal_lsn (), AS  (c1)   WHERE 才能;client_addr=& # 39; % & # 39;,以及application_name =, & # 39; % & # 39;   ,ORDER 通过   slave_latency_MB。才能   LIMIT 才能;1;

<强>补充:PostgreSQL pg_stat_replication sync_state介绍

PostgreSQL 9.2引入同步复制后,pg_stat_replication的sync_state列有3种状态。

<代码>同步代码

<代码>异步代码

<代码>潜在

pg_stat_replication怎么在pgsql数据库中使用