zoukankan      html  css  js  c++  java
  • PostgreSQL Replication之第六章 监控您的设置(2)

    6.2 检查pg_stat_replication

    检查归档以及 archive_command主要用于即时恢复( PITR,Point-In-Time-

    Recovery)。如果您想监控一个基于流的设置,建议您 注意系统上称作pg_stat_replication的视图。此视图包含以下信息:

    test=# d pg_stat_replication

    View "pg_catalog.pg_stat_replication"

    Column | Type | Modifiers

    ------------------+--------------------------+----------

    pid | integer |

    usesysid | oid |

    usename | name |

    application_name | text |

    client_addr | inet |

    client_hostname | text |

    client_port | integer |

    backend_start | timestamp with time zone |

    state | text |

    sent_location | text |

    write_location | text |

    flush_location | text |

    replay_location | text |

    sync_priority | integer |

    sync_state | text |

    对于每一个通过流连接的我们的系统的slave,PostgreSQL将只返回一行数据。您会详细地看到您的slave在做什么。

    6.2.1 pg_stat_replication相关字段

    以下字段可用于监控系统。让我们详细地讨论一下这些字段:

    • pid: 这代表负责流连接的wal_receiver进程的进程ID。如果您在您的操作系统上检查您进程表,您应该会找到一个带有那个号码的PostgreSQL 进程。

    • usesysid: 每个内部用户都有一个独一无二的编号。该系统的工作原理很像UNIX。 usesysid 是 (PostgreSQL) 用户连接到系统的唯一标识符。

    • usename: (不是用户名, 注意少了 r)它存储与用户相关的 usesysid 的名字。这是客户端放入到连接字符串中的东西。

    • application_name:这是同步复制的通常设置。它可以通过连接字符串传递到master。

    • client_addr: 它会告诉您流连接从何而来。它拥有客户端的IP地址。

    • client_hostname: 除了客户端的IP,您还可以这样做,通过它的主机名来标识客户端。您可以通过master上的postgresql.conf中的log_hostname启用DNS反向查找。

    • client_port: 这是客户端用来和WALsender进行通信使用的TPC端口号。 如果不本地UNIX套接字被使用了将显示-1。

    • backend_start: 它告诉我们slave什么时间创建了流连接。

    • state: 此列告诉我们数据的连接状态。如果事情按计划进行,它应该包含流信息。

    • sent_location:这代表发送到连接的最后的事务日志的位置。

    • write_location: 这是写到standby系统磁盘上最后的事务日志位置。

    • flush_location: 这是被刷新到standby系统的最后位置。

    这里注意写和刷新之间的区别。写并不意味着刷新(见有关耐久性要求的部分) 。

    • replay_location: 这是slave上重放的最后的事务日志位置。

    • sync_priority: 这个字段是唯一和同步复制相关的。每次同步复制将会选择一个优先权 —sync_priority—会告诉您选择了那个优先权。

    • sync_state: 最后您会看到slave在哪个状态。这个状态可以是

    async, sync, or potential。当有一个带有较高优先权的同步slave时,PostgreSQL会把slave 标记为 potential。

    请记住,在这个系统视图中每个记录只代表一个slave。因此,您看到谁处于连接状态,在做什么任务。pg_stat_replication也是检查slave是否处于连接状态的一个好方法。

  • 相关阅读:
    git项目管理-合并请求
    记录一次git stash找回删除的存储
    chrome 下 position:fixed失效(react)
    css3 var变量
    rc-select下拉选择控件库推荐
    (转载)vue路径后面去除#号
    本地配置独立域名环境
    javascript判断pc还是手机端
    javascript复制到粘贴板的方案
    javascript轮播插件的使用(TouchSlide)
  • 原文地址:https://www.cnblogs.com/songyuejie/p/4743599.html
Copyright © 2011-2022 走看看