<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pigsty v5.0 文档 on Pigsty v5.0</title>
    <link>https://pgsty.pro/zh/</link>
    <description>Recent content in Pigsty v5.0 文档 on Pigsty v5.0</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    
    
      <lastBuildDate>Sat, 15 Aug 2026 00:00:00 +0000</lastBuildDate>
    
    
      <atom:link href="https://pgsty.pro/zh/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>PGSQL Cluster</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-cluster/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-cluster/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;一个 PGSQL 集群的主仪表板：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-cluster&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Cluster 是单个 PostgreSQL 集群的主仪表板，提供集群级别的核心指标概览。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-cluster&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-cluster.webp&#34; alt=&#34;pgsql-cluster&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Database</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-database/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-database/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个 PGSQL 数据库的主仪表板：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-database&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Database 是单个 PostgreSQL 数据库的主仪表板，提供数据库级别的核心指标概览。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-database&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-database.webp&#34; alt=&#34;pgsql-database&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Instance</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-instance/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-instance/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个 PGSQL 实例的主仪表板：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-instance&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Instance 是单个 PostgreSQL 实例的主仪表板，提供实例级别的核心指标概览。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-instance&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-instance.webp&#34; alt=&#34;pgsql-instance&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Overview</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-overview/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-overview/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;PGSQL 模块的主仪表板：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-overview&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Overview 是 PostgreSQL 模块的主仪表板，提供整个 PGSQL 模块的全局概览视图。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-overview&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-overview.webp&#34; alt=&#34;pgsql-overview&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PIGSTY</title>
        <link>https://pgsty.pro/zh/docs/_div_pigsty/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/_div_pigsty/</guid>
        <description></description>
      </item>
    <item>
        <title>PGCAT Database</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-database/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-database/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取的数据库信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-database&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Database 仪表板展示直接从数据库系统目录获取的数据库信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-database&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-database.webp&#34; alt=&#34;pgcat-database&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGRDS Cluster</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgrds-cluster/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgrds-cluster/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;PGSQL Cluster 的 RDS 版本：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgrds-cluster&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGRDS Cluster 是 PGSQL Cluster 的 RDS 版本，专注于所有 PostgreSQL 本身的指标，适用于云数据库 RDS 监控场景。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgrds-cluster&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgrds-cluster.webp&#34; alt=&#34;pgrds-cluster&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGRDS Instance</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgrds-instance/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgrds-instance/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;PGSQL Instance 的 RDS 版本：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgrds-instance&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGRDS Instance 是 PGSQL Instance 的 RDS 版本，专注于所有 PostgreSQL 本身的指标，适用于云数据库 RDS 监控场景。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgrds-instance&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgrds-instance.webp&#34; alt=&#34;pgrds-instance&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Alert</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-alert/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-alert/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;PGSQL 的全局关键指标和警报事件：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-alert&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Alert 仪表板展示 PGSQL 全局核心指标总览与告警事件一览。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-alert&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-alert.webp&#34; alt=&#34;pgsql-alert&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGCAT Instance</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgcat-instance/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgcat-instance/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取的实例信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-instance&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Instance 仪表板展示直接从数据库系统目录获取的实例信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-instance&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-instance.webp&#34; alt=&#34;pgcat-instance&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Activity</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-activity/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-activity/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注 PGSQL 集群的会话/负载/QPS/TPS/锁定情况：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-activity&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Activity 仪表板关注 PGSQL 集群的会话、负载、QPS、TPS 以及锁定情况。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-activity&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-activity.webp&#34; alt=&#34;pgsql-activity&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Shard</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-shard/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/overview/pgsql-shard/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关于水平分片的 PGSQL 集群的概览：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-shard&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Shard 仪表板展示一个 PGSQL 水平分片集群内的横向指标对比，例如 Citus / GPSQL 集群。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-shard&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-shard.webp&#34; alt=&#34;pgsql-shard&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Tables</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-tables/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-tables/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个数据库内的表/索引访问指标：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-tables&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Tables 仪表板展示单个数据库内的表和索引访问指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-tables&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-tables.webp&#34; alt=&#34;pgsql-tables&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Persist</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-persist/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-persist/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;持久性指标：WAL、XID、检查点、存档、IO：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-persist&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Persist 仪表板关注持久性相关指标：WAL、XID、检查点、存档和 IO。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-persist&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-persist.webp&#34; alt=&#34;pgsql-persist&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Replication</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-replication/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-replication/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注 PGSQL 集群复制、插槽和发布/订阅：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-replication&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Replication 仪表板关注 PGSQL 集群的复制状态、复制插槽和发布/订阅信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-replication&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-replication.webp&#34; alt=&#34;pgsql-replication&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Table</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-table/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-table/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个表的详细信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-table&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Table 仪表板展示单个表的详细信息，包括 QPS、RT、索引、序列等指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-table&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-table.webp&#34; alt=&#34;pgsql-table&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGCAT Table</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-table/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-table/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取的单个表的详细信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-table&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Table 仪表板展示直接从数据库系统目录获取的单个表的详细信息，包括统计和膨胀信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-table&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-table.webp&#34; alt=&#34;pgcat-table&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Proxy</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-proxy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-proxy/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个 HAProxy 负载均衡器的详细指标：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-proxy&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Proxy 仪表板展示单个 HAProxy 负载均衡器的详细指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-proxy&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-proxy.webp&#34; alt=&#34;pgsql-proxy&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Service</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-service/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-service/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注 PGSQL 集群服务、代理、路由和负载均衡：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-service&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Service 仪表板关注 PGSQL 集群的服务、代理、路由和负载均衡状态。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-service&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-service.webp&#34; alt=&#34;pgsql-service&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Databases</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-databases/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-databases/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注所有实例的数据库 CRUD、慢查询和表统计信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-databases&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Databases 仪表板关注集群中所有实例的数据库 CRUD、慢查询和表统计信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-databases&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-database.webp&#34; alt=&#34;pgsql-databases&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Pgbouncer</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-pgbouncer/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-pgbouncer/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个 Pgbouncer 连接池实例中的指标总览：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-pgbouncer&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Pgbouncer 仪表板展示单个 Pgbouncer 连接池实例中的指标总览。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-pgbouncer&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-pgbouncer.webp&#34; alt=&#34;pgsql-pgbouncer&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Query</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-query/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgsql-query/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单类查询的详细信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-query&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Query 仪表板展示单类查询的详细信息，包括 QPS 和 RT 指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-query&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-query.webp&#34; alt=&#34;pgsql-query&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGCAT Query</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-query/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-query/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取的单类查询的详细信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-query&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Query 仪表板展示直接从数据库系统目录获取的单类查询的详细信息，包括 SQL 和统计信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-query&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-query.webp&#34; alt=&#34;pgcat-query&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Patroni</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-patroni/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-patroni/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注集群高可用状态，Patroni 组件状态：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-patroni&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Patroni 仪表板关注集群的高可用状态以及 Patroni 组件的运行状态。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-patroni&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-patroni.webp&#34; alt=&#34;pgsql-patroni&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Session</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-session/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-session/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;单个实例中的会话和活动/空闲时间的指标：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-session&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Session 仪表板展示单个实例中的会话和活动/空闲时间的指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-session&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-session.webp&#34; alt=&#34;pgsql-session&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGCAT Locks</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-locks/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-locks/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取的关于活动与锁等待的信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-locks&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Locks 仪表板展示直接从数据库系统目录获取的关于活动与锁等待的信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-locks&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-locks.webp&#34; alt=&#34;pgcat-locks&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL PITR</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-pitr/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/cluster/pgsql-pitr/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关注集群 PITR 过程的上下文：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-pitr&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL PITR 仪表板关注集群 PITR 过程的上下文，用于辅助时间点恢复操作。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-pitr&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-pitr.webp&#34; alt=&#34;pgsql-pitr&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Xacts</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-xacts/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-xacts/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;关于事务、锁、TPS/QPS 相关的指标：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-xacts&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Xacts 仪表板关注事务、锁、TPS/QPS 相关的指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-xacts&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-xacts.webp&#34; alt=&#34;pgsql-xacts&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGCAT Schema</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-schema/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/database/pgcat-schema/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;直接从数据库目录获取关于模式的信息：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-schema&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGCAT Schema 仪表板展示直接从数据库系统目录获取的关于模式的信息，包括表、索引、序列等。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgcat-schema&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgcat-schema.webp&#34; alt=&#34;pgcat-schema&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Exporter</title>
        <link>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-exporter/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/dashboard/instance/pgsql-exporter/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Postgres 与 Pgbouncer 监控组件自我监控指标：&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-exporter&#34;&gt;Demo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PGSQL Exporter 仪表板展示 Postgres 与 Pgbouncer 监控组件的自我监控指标。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/ui/d/pgsql-exporter&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/panel/pgsql-exporter.webp&#34; alt=&#34;pgsql-exporter&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>被动故障切换</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/failure/passive/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/failure/passive/</guid>
        <description>&lt;pre class=&#34;td-infographic-source&#34;&gt;&lt;code class=&#34;language-infographic&#34;&gt;infographic list-row-simple-horizontal-arrow&#xA;data&#xA;  title 租约过期故障切换流程&#xA;  desc 当整个节点宕机，Patroni 无法主动释放租约，只能等待 TTL 过期&#xA;  items&#xA;    - label 租约过期&#xA;      desc Patroni 失联，被动等待主库租约 TTL 过期&#xA;      icon mingcute/close-circle-fill&#xA;    - label 从库检测&#xA;      desc 从库从循环中醒来后发现租约过期，开始竞选&#xA;      icon mingcute/key-2-fill&#xA;    - label 抢锁提拔&#xA;      desc 从库相互比较并抢锁，胜利者提升自己的PG&#xA;      icon mingcute/radar-fill&#xA;    - label 健康检查&#xA;      desc HAPROXY 健康检查发现新主上线，分配流量&#xA;      icon mingcute/arrow-up-circle-fill&#xA;theme light&#xA;  palette antv&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;rto-时序图&#34;&gt;RTO 时序图&#xA;&lt;/h2&gt;&#xA;&lt;script&gt;&#xA;window.OinkEchartsFunctions = window.OinkEchartsFunctions || {};&#xA;(function (registry) {&#xA;var fmt = function(params) { if (!params || !params.length || params[0].name === &#39;&#39;) return &#39;&#39;; return &#39;&lt;b&gt;&#39; + params[0].name + &#39;&lt;/b&gt;&lt;br/&gt;&#39; + params.filter(p =&gt; p.value !== &#39;-&#39; &amp;&amp; p.value != null).map(p =&gt; p.marker + &#39; &#39; + p.seriesName + &#39;: &#39; + p.value + &#39;s&#39;).join(&#39;&lt;br/&gt;&#39;); };&#xA;registry[&#34;fmt&#34;] = fmt;&#xA;})(window.OinkEchartsFunctions);&#xA;&lt;/script&gt;&#xA;&lt;pre class=&#34;td-echarts-source&#34;&gt;&lt;code class=&#34;language-echarts&#34;&gt;tooltip: { trigger: axis, axisPointer: { type: shadow }, formatter: $fn:fmt }&#xA;legend: { top: 0, itemGap: 12, data: [租约过期, 从库检测, 抢锁提拔, 健康检查] }&#xA;grid: { left: 64, right: 24, bottom: 32, top: 40 }&#xA;xAxis: { type: value, name: 秒, nameLocation: end, max: 160, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: true, lineStyle: { type: dashed, opacity: 0.5 } }, minorTick: { show: true, splitNumber: 5 }, minorSplitLine: { show: true, lineStyle: { type: dotted, opacity: 0.2 } } }&#xA;yAxis: { type: category, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: false }, axisLabel: { fontSize: 10, fontFamily: monospace }, data: [wide-max, wide-avg, wide-min, &amp;#34;&amp;#34;, safe-max, safe-avg, safe-min, &amp;#34;&amp;#34;, norm-max, norm-avg, norm-min, &amp;#34;&amp;#34;, fast-max, fast-avg, fast-min] }&#xA;series:&#xA;  - { name: 租约过期, type: bar, stack: main, barWidth: 20, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#e15759&amp;#34; }, data: [120, 110, 100, &amp;#34;-&amp;#34;, 60, 55, 50, &amp;#34;-&amp;#34;, 30, 27, 25, &amp;#34;-&amp;#34;, 20, 17, 15] }&#xA;  - { name: 从库检测, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#edc949&amp;#34; }, data: [20, 10, 0, &amp;#34;-&amp;#34;, 10, 5, 0, &amp;#34;-&amp;#34;, 5, 3, 0, &amp;#34;-&amp;#34;, 5, 3, 0] }&#xA;  - { name: 抢锁提拔, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#59a14f&amp;#34; }, data: [2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0] }&#xA;  - { name: 健康检查, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#4e79a7&amp;#34; }, data: [8, 6, 4, &amp;#34;-&amp;#34;, 6, 5, 3, &amp;#34;-&amp;#34;, 4, 3, 2, &amp;#34;-&amp;#34;, 2, 2, 1] }&#xA;  - { name: RTO总计, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 1, itemStyle: { color: &amp;#34;#888&amp;#34;, opacity: 0 }, emphasis: { itemStyle: { opacity: 0 } }, data: [150, 127, 104, &amp;#34;-&amp;#34;, 78, 66, 53, &amp;#34;-&amp;#34;, 41, 34, 27, &amp;#34;-&amp;#34;, 29, 23, 16] }&#xA;  - { name: RTO预算, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 0, itemStyle: { color: &amp;#34;rgba(0,0,0,0.08)&amp;#34; }, emphasis: { itemStyle: { color: &amp;#34;rgba(0,0,0,0.12)&amp;#34; } }, data: [150, 150, 150, &amp;#34;-&amp;#34;, 90, 90, 90, &amp;#34;-&amp;#34;, 45, 45, 45, &amp;#34;-&amp;#34;, 30, 30, 30] }&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;故障模型&#34;&gt;故障模型&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;项目&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最好&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最坏&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;平均&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;租约过期&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl - loop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl - loop/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：即将刷新时宕机&lt;br/&gt;最坏：刚刷新完就宕机&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;从库检测&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop / 2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：恰好在检测点&lt;br/&gt;最坏：刚错过检测点&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;抢锁提拔&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：直接抢锁提升&lt;br/&gt;最坏：API 超时+Promote&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;健康检查&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：检查前状态变化&lt;br/&gt;最坏：检查后瞬间状态变化&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;被动故障与主动故障的核心区别&lt;/strong&gt;：&lt;/p&gt;</description>
      </item>
    <item>
        <title>默认配置模板的参数优化策略说明</title>
        <link>https://pgsty.pro/zh/docs/pgsql/template/tune/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/template/tune/</guid>
        <description>&lt;p&gt;Pigsty 默认提供了四套场景化参数模板，可以通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_conf&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_conf&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 参数指定并使用。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/template/tiny/&#34;&gt;&lt;strong&gt;&lt;code&gt;tiny.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：为小节点、虚拟机、小型演示优化（模板标注为 1-3 核）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/template/oltp/&#34;&gt;&lt;strong&gt;&lt;code&gt;oltp.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：为 OLTP 工作负载和延迟敏感应用优化（4C8GB+）（默认模板）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/template/olap/&#34;&gt;&lt;strong&gt;&lt;code&gt;olap.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：为 OLAP 工作负载和吞吐量优化（4C8G+）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/template/crit/&#34;&gt;&lt;strong&gt;&lt;code&gt;crit.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：为数据一致性和关键应用优化（4C8G+）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pigsty 会针对这四种默认场景，采取不同的参数优化策略，如下所示：&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 数据库集群</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/cluster/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/cluster/</guid>
        <description>&lt;h2 id=&#34;速查手册&#34;&gt;速查手册&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;操作&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;快捷命令&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e5%88%9b%e5%bb%ba%e9%9b%86%e7%be%a4&#34;&gt;&lt;strong&gt;创建集群&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-add &amp;lt;cls&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;创建新的 PostgreSQL 集群&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e6%89%a9%e5%ae%b9%e9%9b%86%e7%be%a4&#34;&gt;&lt;strong&gt;扩容集群&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-add &amp;lt;cls&amp;gt; &amp;lt;ip...&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;为现有集群添加从库副本&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e7%bc%a9%e5%ae%b9%e9%9b%86%e7%be%a4&#34;&gt;&lt;strong&gt;缩容集群&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-rm &amp;lt;cls&amp;gt; &amp;lt;ip...&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;从集群中移除指定实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e9%94%80%e6%af%81%e9%9b%86%e7%be%a4&#34;&gt;&lt;strong&gt;销毁集群&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-rm &amp;lt;cls&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;销毁整个 PostgreSQL 集群&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e5%88%b7%e6%96%b0%e6%9c%8d%e5%8a%a1&#34;&gt;&lt;strong&gt;刷新服务&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-svc &amp;lt;cls&amp;gt; [ip...]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;重载集群的负载均衡配置&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e5%88%b7%e6%96%b0hba&#34;&gt;&lt;strong&gt;刷新HBA&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;bin/pgsql-hba &amp;lt;cls&amp;gt; [ip...]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;重载集群的 HBA 访问规则&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/cluster/#%e5%85%8b%e9%9a%86%e9%9b%86%e7%be%a4&#34;&gt;&lt;strong&gt;克隆集群&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;通过备份集群或 PITR 克隆&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;其他管理任务，请参考：&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/patroni/&#34;&gt;&lt;strong&gt;高可用管理&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/user/&#34;&gt;&lt;strong&gt;管理用户&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/db/&#34;&gt;&lt;strong&gt;管理数据库&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群实例</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/cluster/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/cluster/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;根据需求场景选择合适的实例与集群类型，配置出满足需求的 PostgreSQL 数据库集群。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;您可以定义不同类型的实例和集群，下面是 Pigsty 中常见的几种 PostgreSQL 实例/集群类型：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e8%af%bb%e5%86%99%e4%b8%bb%e5%ba%93&#34;&gt;读写主库&lt;/a&gt;：定义单一实例集群。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e5%8f%aa%e8%af%bb%e4%bb%8e%e5%ba%93&#34;&gt;只读从库&lt;/a&gt;：定义具有一个主库和一个副本的基本 HA 集群。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e7%a6%bb%e7%ba%bf%e4%bb%8e%e5%ba%93&#34;&gt;离线从库&lt;/a&gt;：定义专用于 OLAP/ETL/交互式查询的实例&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e5%90%8c%e6%ad%a5%e5%a4%87%e5%ba%93&#34;&gt;同步备库&lt;/a&gt;：启用同步提交以确保没有数据丢失。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e6%b3%95%e5%ae%9a%e4%ba%ba%e6%95%b0%e6%8f%90%e4%ba%a4&#34;&gt;法定人数提交&lt;/a&gt;：使用多数同步提交获得更高的一致性级别。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e5%a4%87%e4%bb%bd%e9%9b%86%e7%be%a4&#34;&gt;备份集群&lt;/a&gt;：克隆现有集群并跟随它&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#%e5%bb%b6%e8%bf%9f%e9%9b%86%e7%be%a4&#34;&gt;延迟集群&lt;/a&gt;：克隆现有集群用于紧急数据恢复&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/cluster/#citus%e9%9b%86%e7%be%a4&#34;&gt;Citus集群&lt;/a&gt;：定义一个 Citus 分布式数据库集群&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;读写主库&#34;&gt;读写主库&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;我们从最简单的情况开始：由一个主库（Primary）组成的单实例集群：&lt;/p&gt;</description>
      </item>
    <item>
        <title>亮点特性</title>
        <link>https://pgsty.pro/zh/docs/about/feature/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/feature/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;&lt;strong&gt;P&lt;/strong&gt;ostgreSQL &lt;strong&gt;I&lt;/strong&gt;n &lt;strong&gt;G&lt;/strong&gt;reat &lt;strong&gt;STY&lt;/strong&gt;le&amp;rdquo;: &lt;strong&gt;P&lt;/strong&gt;ostgres, &lt;strong&gt;I&lt;/strong&gt;nfras, &lt;strong&gt;G&lt;/strong&gt;raphics, &lt;strong&gt;S&lt;/strong&gt;ervice, &lt;strong&gt;T&lt;/strong&gt;oolbox, it&amp;rsquo;s all &lt;strong&gt;Y&lt;/strong&gt;ours.&lt;/p&gt;&#xA;&lt;p&gt;—— &lt;strong&gt;开箱即用、本地优先的 PostgreSQL 发行版，开源 RDS 替代&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;价值主张&#34;&gt;价值主张&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/ecosystem.png&#34;&gt;&lt;strong&gt;可扩展性&lt;/strong&gt;&lt;/a&gt;：&lt;a href=&#34;https://pigsty.cc/ext/list&#34;&gt;&lt;strong&gt;海量扩展&lt;/strong&gt;&lt;/a&gt; 开箱即用：深度整合 &lt;strong&gt;PostGIS&lt;/strong&gt;、&lt;strong&gt;TimescaleDB&lt;/strong&gt;、&lt;strong&gt;Citus&lt;/strong&gt;、&lt;strong&gt;PGVector&lt;/strong&gt; 等 &lt;a href=&#34;https://pigsty.cc/ext/list/&#34;&gt;&lt;strong&gt;575&lt;/strong&gt;&lt;/a&gt; 插件与 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/&#34;&gt;&lt;strong&gt;12 款 PG 内核&lt;/strong&gt;&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/arch.png&#34;&gt;&lt;strong&gt;可靠性&lt;/strong&gt;&lt;/a&gt;：快速创建 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/&#34;&gt;&lt;strong&gt;高可用&lt;/strong&gt;&lt;/a&gt;、故障自愈的 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&lt;/a&gt; 集群，自动预置 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/pitr/&#34;&gt;&lt;strong&gt;时间点恢复&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;&lt;strong&gt;访问控制&lt;/strong&gt;&lt;/a&gt;、自签名 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ca/&#34;&gt;&lt;strong&gt;CA&lt;/strong&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ca/&#34;&gt;&lt;strong&gt;TLS&lt;/strong&gt;&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/dashboard.jpg&#34;&gt;&lt;strong&gt;可观测性&lt;/strong&gt;&lt;/a&gt;：基于 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/#victoria-%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%a5%97%e4%bb%b6&#34;&gt;&lt;strong&gt;Victoria&lt;/strong&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/#grafana&#34;&gt;&lt;strong&gt;Grafana&lt;/strong&gt;&lt;/a&gt; 的可观测性技术栈，提供惊艳的监控最佳实践。模块化设计，可独立使用：&lt;a href=&#34;https://github.com/pgsty/pigsty/wiki/Gallery&#34;&gt;&lt;strong&gt;画廊&lt;/strong&gt;&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://demo.pigsty.cc&#34;&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/ha.png&#34;&gt;&lt;strong&gt;可用性&lt;/strong&gt;&lt;/a&gt;：交付稳定可靠，自动路由，事务池化、读写分离的高性能数据库 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/service/#%e9%bb%98%e8%ae%a4%e6%9c%8d%e5%8a%a1&#34;&gt;&lt;strong&gt;服务&lt;/strong&gt;&lt;/a&gt;，通过 HAProxy，Pgbouncer，VIP 提供灵活的 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/service/#%e6%8e%a5%e5%85%a5%e6%9c%8d%e5%8a%a1&#34;&gt;&lt;strong&gt;接入&lt;/strong&gt;&lt;/a&gt; 模式。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/iac.jpg&#34;&gt;&lt;strong&gt;可维护性&lt;/strong&gt;&lt;/a&gt;：&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;简单易用&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/&#34;&gt;&lt;strong&gt;基础设施即代码&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/&#34;&gt;&lt;strong&gt;管理SOP预案&lt;/strong&gt;&lt;/a&gt;，自动调参，本地软件仓库，&lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/vagrant/&#34;&gt;&lt;strong&gt;Vagrant&lt;/strong&gt;&lt;/a&gt; &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/sandbox/&#34;&gt;&lt;strong&gt;沙箱&lt;/strong&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/terraform/&#34;&gt;&lt;strong&gt;Terraform&lt;/strong&gt;&lt;/a&gt; 模板，不停机 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/migration/&#34;&gt;&lt;strong&gt;迁移&lt;/strong&gt;&lt;/a&gt; 方案。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/img/pigsty/sandbox.png&#34;&gt;&lt;strong&gt;可组合性&lt;/strong&gt;&lt;/a&gt;：&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/arch/#%e6%a8%a1%e5%9d%97&#34;&gt;&lt;strong&gt;模块化&lt;/strong&gt;&lt;/a&gt; 架构设计，可复用的 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;Infra&lt;/strong&gt;&lt;/a&gt;，多样的可选 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/module/&#34;&gt;&lt;strong&gt;模块&lt;/strong&gt;&lt;/a&gt;：&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;strong&gt;Redis&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;Silo 对象存储&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;ETCD&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pigsty.cc/docs/pilot/duckdb/&#34;&gt;&lt;strong&gt;DuckDB&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pigsty.cc/docs/app/&#34;&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/master/app/supabase&#34;&gt;&lt;strong&gt;Supabase&lt;/strong&gt;&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/pigsty/banner.png&#34; alt=&#34;Pigsty 功能概览&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;总览&#34;&gt;总览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 是一个更好的本地开源 RDS for PostgreSQL 替代：&lt;/p&gt;</description>
      </item>
    <item>
        <title>OLTP 模板</title>
        <link>https://pgsty.pro/zh/docs/pgsql/template/oltp/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/template/oltp/</guid>
        <description>&lt;p&gt;&lt;code&gt;oltp.yml&lt;/code&gt; 是 Pigsty 的默认配置模板，针对 &lt;strong&gt;在线事务处理&lt;/strong&gt;（OLTP）负载进行了优化。适用于 4-128 核 CPU 的服务器，特点是高并发连接、低延迟响应、高事务吞吐量。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;建议同时使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_tune&#34;&gt;&lt;strong&gt;&lt;code&gt;node_tune&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; = &lt;code&gt;oltp&lt;/code&gt; 进行操作系统级别的配套调优。&lt;/p&gt;</description>
      </item>
    <item>
        <title>历史沿革</title>
        <link>https://pgsty.pro/zh/docs/about/history/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/history/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;历史起源&#34;&gt;历史起源&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 项目始于 2018 ～ 2019 年，起源于 &lt;a href=&#34;https://tantanapp.com/en&#34;&gt;&lt;strong&gt;探探&lt;/strong&gt;&lt;/a&gt;。&#xA;探探是一个互联网交友 App —— 中国的 Tinder，现已被陌陌收购。&#xA;探探这家公司是一个北欧风格的创业公司，有着一个瑞典工程师初创团队。&lt;/p&gt;</description>
      </item>
    <item>
        <title>内核版本</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/kernel/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/kernel/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在 Pigsty 中选择&amp;quot;内核&amp;quot;意味着确定 PostgreSQL 大版本、模式/发行版、需要安装的包以及要加载的调优模板。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty v4.5 当前源码支持 PostgreSQL 14 - 18，默认使用 18。下方内容展示如何通过配置文件完成这些选择。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 业务用户</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/user/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/user/</guid>
        <description>&lt;h2 id=&#34;快速上手&#34;&gt;快速上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用声明式管理方式，首先在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt; 中 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/user/&#34;&gt;&lt;strong&gt;定义用户&lt;/strong&gt;&lt;/a&gt;，然后使用 &lt;code&gt;bin/pgsql-user &amp;lt;cls&amp;gt; &amp;lt;username&amp;gt;&lt;/code&gt; 创建或修改用户。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-408d51e6-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-408d51e6-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_seq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;1, pg_role&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;primary } }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_users&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dbuser_app, password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#39;DBUser.App&amp;#39;, pgbouncer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;}&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 在这里定义用户列表！&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;脚本&#34; data-td-tab-group=&#34;tab1-tab2-tab3&#34; data-td-tab-value=&#34;tab1&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;脚本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-408d51e6-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-408d51e6-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-user &amp;lt;cls&amp;gt; &amp;lt;username&amp;gt;    &lt;span class=&#34;c1&#34;&gt;# 在 &amp;lt;cls&amp;gt; 集群上创建/修改 &amp;lt;username&amp;gt; 用户&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;剧本&#34; data-td-tab-value=&#34;tab2&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;剧本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-408d51e6-fence-2&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-408d51e6-fence-2-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql-user.yml -l pg-meta -e &lt;span class=&#34;nv&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;dbuser_app    &lt;span class=&#34;c1&#34;&gt;# 直接使用剧本在 &amp;lt;cls&amp;gt; 集群上创建/修改 &amp;lt;username&amp;gt; 用户&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;示例&#34; data-td-tab-value=&#34;tab3&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;示例&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-408d51e6-fence-3&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-408d51e6-fence-3-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-user pg-meta dbuser_app    &lt;span class=&#34;c1&#34;&gt;# 在 pg-meta 集群上创建/修改 dbuser_app 用户&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;关于用户定义参数的完整参考，请查阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/user/&#34;&gt;&lt;strong&gt;用户配置&lt;/strong&gt;&lt;/a&gt;。角色与权限模型参见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/#%e8%a7%92%e8%89%b2%e4%bd%93%e7%b3%bb&#34;&gt;&lt;strong&gt;访问控制&lt;/strong&gt;&lt;/a&gt;，认证与凭据管理参见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;身份认证&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>主动故障检测</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/failure/active/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/failure/active/</guid>
        <description>&lt;pre class=&#34;td-infographic-source&#34;&gt;&lt;code class=&#34;language-infographic&#34;&gt;infographic list-row-simple-horizontal-arrow&#xA;data&#xA;  title 崩溃故障切换流程&#xA;  desc 当 Patroni 健康，但 PostgreSQL 因故崩溃时的故障切换流程&#xA;  items&#xA;    - label 故障检测&#xA;      desc Patroni 在循环中检测到 PG 崩溃&#xA;      icon mingcute/close-circle-fill&#xA;    - label 重启超时&#xA;      desc Patroni 尝试重启 PG，超时后释放租约&#xA;      icon mingcute/refresh-2-fill&#xA;    - label 从库检测&#xA;      desc 从库从循环中醒来发现租约释放，开始竞选&#xA;      icon mingcute/key-2-fill&#xA;    - label 抢锁提拔&#xA;      desc 从库相互比较并抢锁，胜利者提升自己的 PG&#xA;      icon mingcute/radar-fill&#xA;    - label 健康检查&#xA;      desc HAProxy 健康检查发现新主上线，分配流量&#xA;      icon mingcute/arrow-up-circle-fill&#xA;theme light&#xA;  palette antv&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;rto-时序图&#34;&gt;RTO 时序图&#xA;&lt;/h2&gt;&#xA;&lt;script&gt;&#xA;window.OinkEchartsFunctions = window.OinkEchartsFunctions || {};&#xA;(function (registry) {&#xA;var fmt = function(params) { if (!params || !params.length || params[0].name === &#39;&#39;) return &#39;&#39;; return &#39;&lt;b&gt;&#39; + params[0].name + &#39;&lt;/b&gt;&lt;br/&gt;&#39; + params.filter(p =&gt; p.value !== &#39;-&#39; &amp;&amp; p.value != null).map(p =&gt; p.marker + &#39; &#39; + p.seriesName + &#39;: &#39; + p.value + &#39;s&#39;).join(&#39;&lt;br/&gt;&#39;); };&#xA;registry[&#34;fmt&#34;] = fmt;&#xA;})(window.OinkEchartsFunctions);&#xA;&lt;/script&gt;&#xA;&lt;pre class=&#34;td-echarts-source&#34;&gt;&lt;code class=&#34;language-echarts&#34;&gt;tooltip: { trigger: axis, axisPointer: { type: shadow }, formatter: $fn:fmt }&#xA;legend: { top: 0, itemGap: 12, data: [故障检测, 重启超时, 从库检测, 抢锁提拔, 健康检查] }&#xA;grid: { left: 64, right: 24, bottom: 32, top: 40 }&#xA;xAxis: { type: value, name: 秒, nameLocation: end, max: 160, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: true, lineStyle: { type: dashed, opacity: 0.5 } }, minorTick: { show: true, splitNumber: 5 }, minorSplitLine: { show: true, lineStyle: { type: dotted, opacity: 0.2 } } }&#xA;yAxis: { type: category, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: false }, axisLabel: { fontSize: 10, fontFamily: monospace }, data: [wide-max, wide-avg, wide-min, &amp;#34;&amp;#34;, safe-max, safe-avg, safe-min, &amp;#34;&amp;#34;, norm-max, norm-avg, norm-min, &amp;#34;&amp;#34;, fast-max, fast-avg, fast-min] }&#xA;series:&#xA;  - { name: 故障检测, type: bar, stack: main, barWidth: 20, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#b07aa1&amp;#34; }, data: [20, 10, 0, &amp;#34;-&amp;#34;, 10, 5, 0, &amp;#34;-&amp;#34;, 5, 3, 0, &amp;#34;-&amp;#34;, 5, 3, 0] }&#xA;  - { name: 重启超时, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#f28e2c&amp;#34; }, data: [95, 95, 0, &amp;#34;-&amp;#34;, 45, 45, 0, &amp;#34;-&amp;#34;, 25, 25, 0, &amp;#34;-&amp;#34;, 15, 15, 0] }&#xA;  - { name: 从库检测, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#edc949&amp;#34; }, data: [20, 10, 0, &amp;#34;-&amp;#34;, 10, 5, 0, &amp;#34;-&amp;#34;, 5, 3, 0, &amp;#34;-&amp;#34;, 5, 3, 0] }&#xA;  - { name: 抢锁提拔, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#59a14f&amp;#34; }, data: [2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0] }&#xA;  - { name: 健康检查, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#4e79a7&amp;#34; }, data: [8, 6, 4, &amp;#34;-&amp;#34;, 6, 5, 3, &amp;#34;-&amp;#34;, 4, 3, 2, &amp;#34;-&amp;#34;, 2, 2, 1] }&#xA;  - { name: RTO总计, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 1, itemStyle: { color: &amp;#34;#888&amp;#34;, opacity: 0 }, emphasis: { itemStyle: { opacity: 0 } }, data: [145, 122, 4, &amp;#34;-&amp;#34;, 73, 61, 3, &amp;#34;-&amp;#34;, 41, 35, 2, &amp;#34;-&amp;#34;, 29, 24, 1] }&#xA;  - { name: RTO预算, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 0, itemStyle: { color: &amp;#34;rgba(0,0,0,0.08)&amp;#34; }, emphasis: { itemStyle: { color: &amp;#34;rgba(0,0,0,0.12)&amp;#34; } }, data: [150, 150, 150, &amp;#34;-&amp;#34;, 90, 90, 90, &amp;#34;-&amp;#34;, 45, 45, 45, &amp;#34;-&amp;#34;, 30, 30, 30] }&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;故障模型&#34;&gt;故障模型&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;项目&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最好&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最坏&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;平均&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;故障检测&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：PG 恰好在检测前崩溃&lt;br/&gt;最坏：PG 刚检测完就崩溃&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;重启超时&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;start&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;start&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：PG 瞬间自愈&lt;br/&gt;最坏：等满 start 超时才释放租约&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;从库检测&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：恰好在检测点&lt;br/&gt;最坏：刚错过检测点&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;抢锁提拔&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：直接抢锁提升&lt;br/&gt;最坏：API 超时 + Promote&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;健康检查&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：检查前状态变化&lt;br/&gt;最坏：检查后瞬间状态变化&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;主动故障与被动故障的核心区别&lt;/strong&gt;：&lt;/p&gt;</description>
      </item>
    <item>
        <title>OLAP 模板</title>
        <link>https://pgsty.pro/zh/docs/pgsql/template/olap/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/template/olap/</guid>
        <description>&lt;p&gt;&lt;code&gt;olap.yml&lt;/code&gt; 是针对 &lt;strong&gt;在线分析处理&lt;/strong&gt;（OLAP）负载优化的配置模板。适用于 4-128 核 CPU 的服务器，特点是支持大查询、高并行度、宽松的超时设置和激进的 Vacuum 策略。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;建议同时使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_tune&#34;&gt;&lt;strong&gt;&lt;code&gt;node_tune&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; = &lt;code&gt;olap&lt;/code&gt; 进行操作系统级别的配套调优。&lt;/p&gt;</description>
      </item>
    <item>
        <title>别名翻译</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/alias/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/alias/</guid>
        <description>&lt;p&gt;PostgreSQL 在不同操作系统上的软件包命名规则存在显著差异：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;EL 系统&lt;/strong&gt;（RHEL/Rocky/Alma/&amp;hellip;）使用 &lt;code&gt;pgvector_18&lt;/code&gt;，&lt;code&gt;postgis36_18*&lt;/code&gt; 这样的格式&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Debian/Ubuntu 系统&lt;/strong&gt; 使用 &lt;code&gt;postgresql-18-pgvector&lt;/code&gt;，&lt;code&gt;postgresql-18-postgis-3&lt;/code&gt; 这样的格式&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这种差异给用户带来了额外的认知负担：您需要记住不同系统的包名规则，还要处理 PostgreSQL 版本号嵌入的问题。&lt;/p&gt;</description>
      </item>
    <item>
        <title>活动新闻</title>
        <link>https://pgsty.pro/zh/docs/about/event/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/event/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;最近新闻&#34;&gt;最近新闻&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;2026-07-10&lt;/strong&gt;: &lt;strong&gt;Pigsty v4.4.0 正式发布！支持 PG19 Beta，扩展总数达到 531&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;发布说明：&lt;a href=&#34;https://pgsty.pro/zh/blog/release/4.4.0/&#34;&gt;v4.4.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;主要变化：PostgreSQL 18.4 / 19 beta 支持、531 个扩展、内核与软件包更新，以及 Pig CLI 改进。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;2026-05-01&lt;/strong&gt;: &lt;strong&gt;Pigsty v4.3.0 正式发布！510 扩展，Ubuntu 26 支持&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 业务数据库</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/db/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/db/</guid>
        <description>&lt;h2 id=&#34;快速上手&#34;&gt;快速上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用声明式管理方式，首先在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt; 中 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/db/&#34;&gt;&lt;strong&gt;定义数据库&lt;/strong&gt;&lt;/a&gt;，然后使用 &lt;code&gt;bin/pgsql-db &amp;lt;cls&amp;gt; &amp;lt;dbname&amp;gt;&lt;/code&gt; 创建或修改数据库。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4e0bf409-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4e0bf409-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_seq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;1, pg_role&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;primary } }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_databases&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;some_db }] &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 在这里定义数据库列表！&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;脚本&#34; data-td-tab-group=&#34;tab1-tab2-tab3&#34; data-td-tab-value=&#34;tab1&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;脚本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4e0bf409-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4e0bf409-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-db &amp;lt;cls&amp;gt; &amp;lt;dbname&amp;gt;    &lt;span class=&#34;c1&#34;&gt;# 在 &amp;lt;cls&amp;gt; 集群上创建/修改 &amp;lt;dbname&amp;gt; 数据库&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;剧本&#34; data-td-tab-value=&#34;tab2&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;剧本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4e0bf409-fence-2&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4e0bf409-fence-2-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql-db.yml -l pg-meta -e &lt;span class=&#34;nv&#34;&gt;dbname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;some_db    &lt;span class=&#34;c1&#34;&gt;# 直接使用剧本在 &amp;lt;cls&amp;gt; 集群上创建/修改 &amp;lt;dbname&amp;gt; 数据库&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;示例&#34; data-td-tab-value=&#34;tab3&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;示例&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4e0bf409-fence-3&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4e0bf409-fence-3-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-db pg-meta some_db    &lt;span class=&#34;c1&#34;&gt;# 在 pg-meta 集群上创建/修改 some_db 数据库&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;关于数据库定义参数的完整参考，请查阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/db/&#34;&gt;&lt;strong&gt;数据库配置&lt;/strong&gt;&lt;/a&gt;。数据库访问权限见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/#%e6%95%b0%e6%8d%ae%e5%ba%93%e9%9a%94%e7%a6%bb&#34;&gt;&lt;strong&gt;访问控制：数据库隔离&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>CRIT 模板</title>
        <link>https://pgsty.pro/zh/docs/pgsql/template/crit/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/template/crit/</guid>
        <description>&lt;p&gt;&lt;code&gt;crit.yml&lt;/code&gt; 面向一致性和审计要求较高的事务型业务。它强制启用数据校验和与 Patroni 严格同步模式，增加连接日志，并调整部分 WAL、超时和并行查询参数。&lt;/p&gt;&#xA;&lt;p&gt;该模板会增加写入延迟，并可能在没有可用同步副本时阻塞写入。使用前应确认一致性目标、故障域、客户端提交设置和可用性要求。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 Patroni 高可用</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/patroni/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/patroni/</guid>
        <description>&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用 Patroni 管理 PostgreSQL 集群，它可以用来修改集群配置，查看集群状态，执行主从切换，重启集群，重做从库等操作。&lt;/p&gt;&#xA;&lt;p&gt;要使用 Patroni 进行管理，您需要有以下两种身份之一：&lt;/p&gt;</description>
      </item>
    <item>
        <title>用户/角色</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/user/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/user/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在本文中，&amp;ldquo;用户&amp;rdquo;（User） 指的是使用 SQL 命令 &lt;code&gt;CREATE USER/ROLE&lt;/code&gt; 创建的，数据库集簇内的逻辑对象。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;在 PostgreSQL 中，用户直接隶属于数据库集簇而非某个具体的数据库。因此在创建业务数据库和业务用户时，应当遵循&amp;quot;先用户，后数据库&amp;quot;的原则。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL HBA 认证规则</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/hba/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/hba/</guid>
        <description>&lt;h2 id=&#34;快速上手&#34;&gt;快速上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用声明式管理方式，首先在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt; 中 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/hba/&#34;&gt;&lt;strong&gt;定义 HBA 规则&lt;/strong&gt;&lt;/a&gt;，然后使用 &lt;code&gt;bin/pgsql-hba &amp;lt;cls&amp;gt;&lt;/code&gt; 刷新规则。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-35985ec3-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;7&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-35985ec3-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_seq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;1, pg_role&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;primary } }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_hba_rules&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                            &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 在这里定义 HBA 规则列表！&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- {&lt;span class=&#34;nt&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dbuser_app, db&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;app, addr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;intra, auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pwd, title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;app access&amp;#39;&lt;/span&gt;}&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- {&lt;span class=&#34;nt&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dbuser_api, db&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;all, addr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;world, auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ssl, title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;api ssl access&amp;#39;&lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;脚本&#34; data-td-tab-group=&#34;tab1-tab2-tab3&#34; data-td-tab-value=&#34;tab1&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;脚本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-35985ec3-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-35985ec3-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-hba &amp;lt;cls&amp;gt;              &lt;span class=&#34;c1&#34;&gt;# 刷新集群的 PostgreSQL 和 Pgbouncer HBA 规则&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-hba &amp;lt;cls&amp;gt; &amp;lt;ip&amp;gt;...      &lt;span class=&#34;c1&#34;&gt;# 刷新集群中特定实例的 HBA 规则&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;剧本&#34; data-td-tab-value=&#34;tab2&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;剧本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-35985ec3-fence-2&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-35985ec3-fence-2-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql.yml -l &amp;lt;cls&amp;gt; -t pg_hba,pg_reload                 &lt;span class=&#34;c1&#34;&gt;# 仅刷新 PostgreSQL HBA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql.yml -l &amp;lt;cls&amp;gt; -t pgbouncer_hba,pgbouncer_reload   &lt;span class=&#34;c1&#34;&gt;# 仅刷新 Pgbouncer HBA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql.yml -l &amp;lt;cls&amp;gt; -t pg_hba,pg_reload,pgbouncer_hba,pgbouncer_reload  &lt;span class=&#34;c1&#34;&gt;# 同时刷新两者&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;示例&#34; data-td-tab-value=&#34;tab3&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;示例&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-35985ec3-fence-3&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-35985ec3-fence-3-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-hba pg-meta                      &lt;span class=&#34;c1&#34;&gt;# 刷新 pg-meta 集群的 HBA 规则&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-hba pg-meta 10.10.10.10          &lt;span class=&#34;c1&#34;&gt;# 仅刷新特定实例&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-hba pg-meta 10.10.10.11 10.10.10.12  &lt;span class=&#34;c1&#34;&gt;# 刷新多个实例&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;关于规则语法，请查阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/hba/&#34;&gt;&lt;strong&gt;HBA 配置&lt;/strong&gt;&lt;/a&gt;；关于认证方法、默认边界与凭据管理，请参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;身份认证&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>TINY 模板</title>
        <link>https://pgsty.pro/zh/docs/pgsql/template/tiny/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/template/tiny/</guid>
        <description>&lt;p&gt;&lt;code&gt;tiny.yml&lt;/code&gt; 是针对 &lt;strong&gt;微型实例&lt;/strong&gt; 和资源受限环境优化的配置模板。适用于 1-3 核 CPU 的服务器，特点是最小化资源占用、保守的内存分配、禁用并行查询。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;建议同时使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_tune&#34;&gt;&lt;strong&gt;&lt;code&gt;node_tune&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; = &lt;code&gt;tiny&lt;/code&gt; 进行操作系统级别的配套调优。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pgbouncer 连接池管理</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/pgbouncer/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/pgbouncer/</guid>
        <description>&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用 &lt;a href=&#34;https://www.pgbouncer.org/&#34;&gt;&lt;strong&gt;Pgbouncer&lt;/strong&gt;&lt;/a&gt; 作为 PostgreSQL 的连接池中间件，默认监听 &lt;code&gt;6432&lt;/code&gt; 端口，代理访问本机 &lt;code&gt;5432&lt;/code&gt; 端口上的 PostgreSQL 实例。&lt;/p&gt;&#xA;&lt;p&gt;这是一个 &lt;strong&gt;可选组件&lt;/strong&gt;，如果您并没有海量连接，也不需要事务池化与查询监控指标，可以关闭连接池，直连数据库，或者保留但不使用。&lt;/p&gt;</description>
      </item>
    <item>
        <title>数据库</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/db/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/db/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在本文中，“数据库”（Database） 指的是使用 SQL 命令 &lt;code&gt;CREATE DATABASE&lt;/code&gt; 创建的，数据库集簇内的逻辑对象。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;一组 PostgreSQL 服务器可以同时服务于多个 &lt;strong&gt;数据库&lt;/strong&gt; （Database）。在 Pigsty 中，你可以在集群配置中 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/db/#%e5%ae%9a%e4%b9%89%e6%95%b0%e6%8d%ae%e5%ba%93&#34;&gt;&lt;strong&gt;定义&lt;/strong&gt;&lt;/a&gt; 好所需的数据库。&lt;/p&gt;</description>
      </item>
    <item>
        <title>网络分区</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/failure/partition/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/failure/partition/</guid>
        <description>&lt;pre class=&#34;td-infographic-source&#34;&gt;&lt;code class=&#34;language-infographic&#34;&gt;infographic list-row-simple-horizontal-arrow&#xA;data&#xA;  title 网络分区故障切换流程&#xA;  desc 主库与 DCS 网络分区，Patroni 主动降级防止脑裂，等待 TTL 过期后切换&#xA;  items&#xA;    - label 主库降级&#xA;      desc Patroni 重试超时后主动降级 PG&#xA;      icon mingcute/shield-fill&#xA;    - label 租约过期&#xA;      desc Leader Key TTL 过期&#xA;      icon mingcute/close-circle-fill&#xA;    - label 从库检测&#xA;      desc 从库发现租约过期，开始竞选&#xA;      icon mingcute/key-2-fill&#xA;    - label 抢锁提拔&#xA;      desc 从库抢锁并提升为新主库&#xA;      icon mingcute/radar-fill&#xA;    - label 健康检查&#xA;      desc HAProxy 检测新主上线&#xA;      icon mingcute/arrow-up-circle-fill&#xA;theme light&#xA;  palette antv&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;rto-时序图&#34;&gt;RTO 时序图&#xA;&lt;/h2&gt;&#xA;&lt;script&gt;&#xA;window.OinkEchartsFunctions = window.OinkEchartsFunctions || {};&#xA;(function (registry) {&#xA;var fmt = function(params) { if (!params || !params.length || params[0].name === &#39;&#39;) return &#39;&#39;; return &#39;&lt;b&gt;&#39; + params[0].name + &#39;&lt;/b&gt;&lt;br/&gt;&#39; + params.filter(p =&gt; p.value !== &#39;-&#39; &amp;&amp; p.value != null).map(p =&gt; p.marker + &#39; &#39; + p.seriesName + &#39;: &#39; + p.value + &#39;s&#39;).join(&#39;&lt;br/&gt;&#39;); };&#xA;registry[&#34;fmt&#34;] = fmt;&#xA;})(window.OinkEchartsFunctions);&#xA;&lt;/script&gt;&#xA;&lt;pre class=&#34;td-echarts-source&#34;&gt;&lt;code class=&#34;language-echarts&#34;&gt;tooltip: { trigger: axis, axisPointer: { type: shadow }, formatter: $fn:fmt }&#xA;legend: { top: 0, itemGap: 12, data: [主库降级, 租约过期, 从库检测, 抢锁提拔, 健康检查] }&#xA;grid: { left: 64, right: 24, bottom: 32, top: 40 }&#xA;xAxis: { type: value, name: 秒, nameLocation: end, max: 160, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: true, lineStyle: { type: dashed, opacity: 0.5 } }, minorTick: { show: true, splitNumber: 5 }, minorSplitLine: { show: true, lineStyle: { type: dotted, opacity: 0.2 } } }&#xA;yAxis: { type: category, axisLine: { show: true }, axisTick: { show: true }, splitLine: { show: false }, axisLabel: { fontSize: 10, fontFamily: monospace }, data: [wide-max, wide-avg, wide-min, &amp;#34;&amp;#34;, safe-max, safe-avg, safe-min, &amp;#34;&amp;#34;, norm-max, norm-avg, norm-min, &amp;#34;&amp;#34;, fast-max, fast-avg, fast-min] }&#xA;series:&#xA;  - { name: 主库降级, type: bar, stack: main, barWidth: 20, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#76b7b2&amp;#34; }, data: [50, 40, 30, &amp;#34;-&amp;#34;, 30, 25, 20, &amp;#34;-&amp;#34;, 15, 13, 10, &amp;#34;-&amp;#34;, 10, 8, 5] }&#xA;  - { name: 租约过期, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#e15759&amp;#34; }, data: [70, 70, 70, &amp;#34;-&amp;#34;, 30, 30, 30, &amp;#34;-&amp;#34;, 15, 15, 15, &amp;#34;-&amp;#34;, 10, 10, 10] }&#xA;  - { name: 从库检测, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#edc949&amp;#34; }, data: [20, 10, 0, &amp;#34;-&amp;#34;, 10, 5, 0, &amp;#34;-&amp;#34;, 5, 3, 0, &amp;#34;-&amp;#34;, 5, 3, 0] }&#xA;  - { name: 抢锁提拔, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#59a14f&amp;#34; }, data: [2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0, &amp;#34;-&amp;#34;, 2, 1, 0] }&#xA;  - { name: 健康检查, type: bar, stack: main, z: 2, emphasis: { focus: series }, itemStyle: { color: &amp;#34;#4e79a7&amp;#34; }, data: [8, 6, 4, &amp;#34;-&amp;#34;, 6, 5, 3, &amp;#34;-&amp;#34;, 4, 3, 2, &amp;#34;-&amp;#34;, 2, 2, 1] }&#xA;  - { name: RTO总计, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 1, itemStyle: { color: &amp;#34;#888&amp;#34;, opacity: 0 }, emphasis: { itemStyle: { opacity: 0 } }, data: [150, 127, 104, &amp;#34;-&amp;#34;, 78, 66, 53, &amp;#34;-&amp;#34;, 41, 34, 27, &amp;#34;-&amp;#34;, 29, 23, 16] }&#xA;  - { name: RTO预算, type: bar, barGap: &amp;#34;-100%&amp;#34;, barWidth: 20, z: 0, itemStyle: { color: &amp;#34;rgba(0,0,0,0.08)&amp;#34; }, emphasis: { itemStyle: { color: &amp;#34;rgba(0,0,0,0.12)&amp;#34; } }, data: [150, 150, 150, &amp;#34;-&amp;#34;, 90, 90, 90, &amp;#34;-&amp;#34;, 45, 45, 45, &amp;#34;-&amp;#34;, 30, 30, 30] }&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;故障模型&#34;&gt;故障模型&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;项目&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最好&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;最坏&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;平均&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;主库降级&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop + retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop/2 + retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Patroni 检测分区后重试，超时后主动降级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;租约过期&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl - loop - retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl - loop - retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ttl - loop - retry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;降级后剩余的 TTL 时间（近似常数）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;从库检测&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;loop/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：恰好在检测点&lt;br/&gt;最坏：刚错过检测点&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;抢锁提拔&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：直接抢锁提升&lt;br/&gt;最坏：API 超时+Promote&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;健康检查&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;(rise-1) × fastinter + inter/2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;最好：检查前状态变化&lt;br/&gt;最坏：检查后瞬间状态变化&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;网络分区与节点宕机的核心区别&lt;/strong&gt;：&lt;/p&gt;</description>
      </item>
    <item>
        <title>HBA 规则</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/hba/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/hba/</guid>
        <description>&lt;h2 id=&#34;概述&#34;&gt;概述&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;HBA（Host-Based Authentication）控制“谁可以从哪里、以什么方式连接到数据库”。认证模型和默认规则说明见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;身份认证&lt;/strong&gt;&lt;/a&gt;。&#xA;Pigsty 通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/hba/#pg_default_hba_rules&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_default_hba_rules&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/hba/#pg_hba_rules&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_hba_rules&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 让 HBA 规则也能以声明式配置形式管理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数配置</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/param/</guid>
        <description>&lt;p&gt;PostgreSQL 参数可以在多个层级进行配置，不同层级的参数设置具有不同的作用范围和优先级。&#xA;Pigsty 支持在四个层级配置 PostgreSQL 参数，从全局到局部依次为：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;层级&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;作用范围&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;配置方式&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;存储位置&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/param/#%e9%9b%86%e7%be%a4%e7%ba%a7%e5%8f%82%e6%95%b0&#34;&gt;&lt;strong&gt;集群级&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;整个集群所有实例&lt;/td&gt;&#xA;      &lt;td&gt;Patroni DCS / 调优模板&lt;/td&gt;&#xA;      &lt;td&gt;etcd + &lt;code&gt;postgresql.conf&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/param/#%e5%ae%9e%e4%be%8b%e7%ba%a7%e5%8f%82%e6%95%b0&#34;&gt;&lt;strong&gt;实例级&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;单个 PostgreSQL 实例&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pg_parameters&lt;/code&gt; / &lt;code&gt;ALTER SYSTEM&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;postgresql.auto.conf&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/param/#%e6%95%b0%e6%8d%ae%e5%ba%93%e7%ba%a7%e5%8f%82%e6%95%b0&#34;&gt;&lt;strong&gt;数据库级&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;特定数据库的所有会话&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pg_databases[].parameters&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pg_db_role_setting&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/param/#%e7%94%a8%e6%88%b7%e7%ba%a7%e5%8f%82%e6%95%b0&#34;&gt;&lt;strong&gt;用户级&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;特定用户的所有会话&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pg_users[].parameters&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pg_db_role_setting&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;参数优先级从低到高：&lt;strong&gt;集群级 &amp;lt; 实例级 &amp;lt; 数据库级 &amp;lt; 用户级 &amp;lt; 会话级&lt;/strong&gt;（&lt;code&gt;SET&lt;/code&gt; 命令）。&#xA;高优先级的设置会覆盖低优先级的设置。&lt;/p&gt;</description>
      </item>
    <item>
        <title>访问控制</title>
        <link>https://pgsty.pro/zh/docs/pgsql/config/acl/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/config/acl/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;访问控制由角色、对象权限、数据库 ACL 与 HBA 共同决定。本节聚焦配置参数；设计与边界见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;&lt;strong&gt;访问控制概念&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty 预置了一套精简的 ACL 模型，通过以下参数描述：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_default_roles&lt;/code&gt;：系统角色与系统用户。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_users&lt;/code&gt;：业务用户与角色。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_default_privileges&lt;/code&gt;：管理员/属主新建对象时的默认权限。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_revoke_public&lt;/code&gt;、&lt;code&gt;pg_default_schemas&lt;/code&gt;、&lt;code&gt;pg_default_extensions&lt;/code&gt;：控制 &lt;code&gt;template1&lt;/code&gt; 的默认行为。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这些参数应与 HBA 和数据库定义一起管理，形成可复现的访问控制配置。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 组件服务</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/component/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/component/</guid>
        <description>&lt;h2 id=&#34;概述&#34;&gt;概述&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 的 PGSQL 模块由多个组件构成，每个组件都以 systemd 服务的形式运行在节点上。（&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/arch/pgsql/#pgbackrest&#34;&gt;&lt;strong&gt;pgbackrest&lt;/strong&gt;&lt;/a&gt; 除外）&lt;/p&gt;&#xA;&lt;p&gt;了解这些组件及其管理方式，对于维护生产环境中的 PostgreSQL 集群非常重要。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 定时任务</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/crontab/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/crontab/</guid>
        <description>&lt;p&gt;Pigsty 使用 crontab 来管理定时任务，用于执行例行备份，冻结老化事务，重整膨胀表索引等维护工作。&lt;/p&gt;&#xA;&lt;h2 id=&#34;速查手册&#34;&gt;速查手册&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;操作&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;快捷命令&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/crontab/#%e9%85%8d%e7%bd%ae%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1&#34;&gt;&lt;strong&gt;配置定时任务&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;./pgsql.yml -t pg_crontab -l &amp;lt;cls&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;应用 pg_crontab 配置&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/crontab/#%e6%9f%a5%e7%9c%8b%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1&#34;&gt;&lt;strong&gt;查看定时任务&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;crontab -l&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;以 postgres 用户查看&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/crontab/#pg-backup&#34;&gt;&lt;strong&gt;物理备份&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg-backup [full|diff|incr]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;使用 pgBackRest 执行备份&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/crontab/#pg-vacuum&#34;&gt;&lt;strong&gt;事务冻结&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg-vacuum [database...]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;冻结老化事务，预防 XID 回卷&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/crontab/#pg-repack&#34;&gt;&lt;strong&gt;膨胀治理&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg-repack [database...]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;在线重整膨胀的表与索引&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;其他管理任务，请参考：&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/&#34;&gt;&lt;strong&gt;备份管理&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/monitor/&#34;&gt;&lt;strong&gt;监控系统&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/patroni/&#34;&gt;&lt;strong&gt;高可用管理&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>升级 PostgreSQL 大小版本</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/upgrade/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/upgrade/</guid>
        <description>&lt;h2 id=&#34;快速上手&#34;&gt;快速上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PostgreSQL 版本升级分为两种类型：&lt;strong&gt;小版本升级&lt;/strong&gt; 和 &lt;strong&gt;大版本升级&lt;/strong&gt;，两者的风险和复杂度差异很大。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;类型&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;示例&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;停机时间&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;数据兼容性&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;风险等级&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;小版本升级&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.2 → 17.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;秒级（滚动重启）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;完全兼容&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;低&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;大版本升级&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17 → 18&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;分钟级&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;需要升级数据目录&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;中&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;小版本&#34; data-td-tab-group=&#34;tab1-tab2-tab3&#34; data-td-tab-value=&#34;tab1&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;小版本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-13357907-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-13357907-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 滚动升级：先从库后主库&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ansible &amp;lt;cls&amp;gt; -b -a &lt;span class=&#34;s1&#34;&gt;&amp;#39;yum upgrade -y postgresql17*&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pg restart --role replica --force &amp;lt;cls&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pg switchover &amp;lt;cls&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pg restart &amp;lt;cls&amp;gt; &amp;lt;old-primary&amp;gt; --force&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;大版本&#34; data-td-tab-value=&#34;tab2&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;大版本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-13357907-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-13357907-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 推荐：逻辑复制迁移&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-add pg-new              &lt;span class=&#34;c1&#34;&gt;# 创建新版本集群&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 配置逻辑复制同步数据...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 切换流量到新集群&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;扩展&#34; data-td-tab-value=&#34;tab3&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;扩展&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-13357907-fence-2&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-13357907-fence-2-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ansible &amp;lt;cls&amp;gt; -b -a &lt;span class=&#34;s1&#34;&gt;&amp;#39;yum upgrade -y postgis36_17*&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql -c &lt;span class=&#34;s1&#34;&gt;&amp;#39;ALTER EXTENSION postgis UPDATE;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;关于在线迁移的详细流程，请参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/migration/&#34;&gt;&lt;strong&gt;在线迁移&lt;/strong&gt;&lt;/a&gt; 文档。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理 PostgreSQL 扩展插件</title>
        <link>https://pgsty.pro/zh/docs/pgsql/admin/ext/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/admin/ext/</guid>
        <description>&lt;h2 id=&#34;快速上手&#34;&gt;快速上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 提供 &lt;a href=&#34;https://pigsty.cc/ext/list/&#34;&gt;&lt;strong&gt;575 扩展&lt;/strong&gt;&lt;/a&gt;，使用扩展涉及四个步骤：&lt;strong&gt;下载&lt;/strong&gt;、&lt;strong&gt;安装&lt;/strong&gt;、&lt;strong&gt;配置&lt;/strong&gt;、&lt;strong&gt;启用&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-f9aacab9-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;9&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-f9aacab9-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_seq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;1, pg_role&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;primary } }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pg-meta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_extensions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgis, timescaledb, pgvector ]          &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 安装扩展软件包&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_libs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;timescaledb, pg_stat_statements, auto_explain&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 配置预加载扩展&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pg_databases&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;meta&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;extensions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgis, timescaledb, vector ]           &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# &amp;lt;--- 在数据库中启用&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;脚本&#34; data-td-tab-group=&#34;tab1-tab2-tab3&#34; data-td-tab-value=&#34;tab1&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;脚本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-f9aacab9-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-f9aacab9-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-ext &amp;lt;cls&amp;gt;           &lt;span class=&#34;c1&#34;&gt;# 在 &amp;lt;cls&amp;gt; 集群上安装配置中定义的扩展&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-ext &amp;lt;cls&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 在 &amp;lt;cls&amp;gt; 集群上安装命令行参数给出的扩展&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;剧本&#34; data-td-tab-value=&#34;tab2&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;剧本&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-f9aacab9-fence-2&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-f9aacab9-fence-2-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql.yml -l pg-meta -t pg_ext    &lt;span class=&#34;c1&#34;&gt;# 使用剧本安装扩展&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-tab-block td-tab-block--code&#34; data-td-tab=&#34;示例&#34; data-td-tab-value=&#34;tab3&#34; data-td-tab-kind=&#34;code&#34;&gt;&#xA;&lt;div class=&#34;td-tab-block__title&#34; data-td-tab-title&gt;示例&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-f9aacab9-fence-3&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-f9aacab9-fence-3-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-ext pg-meta                         &lt;span class=&#34;c1&#34;&gt;# 在 pg-meta 集群上安装定义的扩展&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-ext pg-meta pg_duckdb pg_mooncake   &lt;span class=&#34;c1&#34;&gt;# 安装指定扩展&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;关于扩展的完整参考，请查阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;&lt;strong&gt;扩展插件&lt;/strong&gt;&lt;/a&gt; 章节。关于可用扩展列表，请参考 &lt;a href=&#34;https://pigsty.cc/ext/list/&#34;&gt;&lt;strong&gt;扩展目录&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>发展规划</title>
        <link>https://pgsty.pro/zh/docs/about/roadmap/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/roadmap/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;版本发布策略&#34;&gt;版本发布策略&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 使用语义化版本号，&lt;code&gt;&amp;lt;主版本&amp;gt;.&amp;lt;次版本&amp;gt;.&amp;lt;修订号&amp;gt;&lt;/code&gt;。Alpha / Beta / RC 版本会在版本号后添加后缀，如 &lt;code&gt;-a1&lt;/code&gt;，&lt;code&gt;-b1&lt;/code&gt;，&lt;code&gt;-c1&lt;/code&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>加入社区</title>
        <link>https://pgsty.pro/zh/docs/about/community/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/community/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;github&#34;&gt;GitHub&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;我们的 GitHub 仓库地址是：&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;https://github.com/pgsty/pigsty&lt;/a&gt;，欢迎点个 ⭐️ &lt;a href=&#34;https://github.com/pgsty/pigsty/stargazers&#34;&gt;&lt;strong&gt;关注&lt;/strong&gt;&lt;/a&gt; 我们。&lt;/p&gt;&#xA;&lt;p&gt;我们欢迎任何人 &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/new&#34;&gt;提交新 Issue&lt;/a&gt; 或创建 &lt;a href=&#34;https://github.com/pgsty/pigsty/pulls&#34;&gt;Pull Request&lt;/a&gt;，提出功能建议并参与 Pigsty 贡献。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://star-history.com/#pgsty/pigsty&amp;amp;Date&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://api.star-history.com/svg?repos=pgsty/pigsty&amp;type=Date&#34; alt=&#34;Star History Chart&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>隐私政策</title>
        <link>https://pgsty.pro/zh/docs/about/privacy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/privacy/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;pigsty软件&#34;&gt;Pigsty软件&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;当您安装 Pigsty 软件时，如果在网络隔离的环境中使用离线软件包安装，&lt;strong&gt;我们不会收到任何关于您的数据&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;如果您选择在线安装，那么在下载相关软件包时，我们的服务器或云供应商的服务器会自动在日志中记录来访机器的 IP 地址和/或主机名，和您下载的软件包名称。&#xA;除非法律要求，我们不会与其他组织共享这些信息。（实话说，吃饱了撑着才会去看这些东西）&lt;/p&gt;</description>
      </item>
    <item>
        <title>开源协议</title>
        <link>https://pgsty.pro/zh/docs/about/license/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/license/</guid>
        <description>&lt;h2 id=&#34;协议摘要&#34;&gt;协议摘要&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 项目主体使用 &lt;strong&gt;Apache-2.0&lt;/strong&gt; 开源许可证；Pigsty 文档网站使用 &lt;strong&gt;CC by 4.0&lt;/strong&gt; 许可证。&#xA;项目协议地址：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/LICENSE&#34;&gt;https://github.com/pgsty/pigsty/blob/main/LICENSE&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;pigsty-项目主体&#34;&gt;Pigsty 项目主体&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 软件主体采用 &lt;a href=&#34;https://pgsty.pro/zh/docs/about/license/#apache-20-%e8%ae%b8%e5%8f%af%e8%af%81%e5%8e%9f%e6%96%87&#34;&gt;&lt;strong&gt;Apache License 2.0&lt;/strong&gt;&lt;/a&gt; 许可证。&#xA;这是一种宽松的开源许可证，允许您自由地使用、修改和分发本软件，包括用于商业目的，而无需公开您的源代码或使用相同许可证。&lt;/p&gt;</description>
      </item>
    <item>
        <title>赞助我们</title>
        <link>https://pgsty.pro/zh/docs/about/sponsor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/sponsor/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;赞助我们&#34;&gt;赞助我们&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 是一个开源免费的自由软件，由 PostgreSQL 社区成员用热情浇灌而成，旨在整合 PostgreSQL 生态的力量，推广 PostgreSQL 的普及。&#xA;如果我们的工作帮到了您，请考虑赞助或者支持一下我们的项目：&lt;/p&gt;</description>
      </item>
    <item>
        <title>行业案例</title>
        <link>https://pgsty.pro/zh/docs/about/case/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/case/</guid>
        <description>&lt;p&gt;根据 Google Analytics PV 与下载量，Pigsty 目前有约 &lt;strong&gt;10 万用户&lt;/strong&gt;，一半来自中国大陆，一半来自全球其他地区。&#xA;遍布互联网、云计算、金融、自动驾驶、制造业、科技创新、ISV 与军工等多个行业。&#xA;如果您在 使用 Pigsty 并且愿意与我们分享您的案例与 Logo，欢迎联系我们，我们提供一次的免费咨询支持。&lt;/p&gt;</description>
      </item>
    <item>
        <title>订阅服务</title>
        <link>https://pgsty.pro/zh/docs/about/service/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/service/</guid>
        <description>&lt;p&gt;Pigsty 旨在聚集 PG 生态的合力，并用自动驾驶的数据库管控软件帮助用户用好世界上 &lt;a href=&#34;https://pigsty.cc/blog/pg/pg-is-no1-again/&#34;&gt;&lt;strong&gt;最流行&lt;/strong&gt;&lt;/a&gt; 的数据库 PostgreSQL。&lt;/p&gt;&#xA;&lt;p&gt;尽管 Pigsty 本身已经解决了 PG 使用中的诸多问题。但想真正达到企业级服务的质量，原厂提供的专家支持与兜底服务不可或缺。&#xA;我们深知专业的商业支持服务对于企业客户的重要性，因此，Pigsty 企业版在开源版本的基础上提供了一系列增值服务，帮助用户更好地用好 PostgreSQL 与 Pigsty，供有需求的客户按需选用。&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/about/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;pigsty-是什么不是什么&#34;&gt;Pigsty 是什么，不是什么？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 是一个 PostgreSQL 数据库发行版，本地优先的开源 RDS 云数据库解决方案。&#xA;Pigsty 不是数据库管理系统（DBMS），而是管理 DBMS 的工具，发行版，解决方案，与最佳实践。&lt;/p&gt;</description>
      </item>
    <item>
        <title>节点</title>
        <link>https://pgsty.pro/zh/docs/concept/arch/node/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/arch/node/</guid>
        <description>&lt;p&gt;&lt;strong&gt;节点（node）&lt;/strong&gt; 是对硬件资源/操作系统的抽象，可以是物理机，裸金属、虚拟机、或者容器与 pods。&lt;/p&gt;&#xA;&lt;p&gt;只要装着 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/&#34;&gt;&lt;strong&gt;Linux 操作系统&lt;/strong&gt;&lt;/a&gt;（以及 systemd 守护进程），能使用 CPU/内存/磁盘/网络 等标准资源，即可视作节点。&lt;/p&gt;</description>
      </item>
    <item>
        <title>成本对比</title>
        <link>https://pgsty.pro/zh/docs/about/compare/cost/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/compare/cost/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;总体概览&#34;&gt;总体概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;以下成本数据用于说明量级差异，云厂商价格与折扣会随时间、区域、实例规格和采购方式变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;EC2&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;核·月&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;RDS&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;核·月&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;DHH 自建核月价格（192C 384G）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;25.32&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;初级开源数据库 DBA 参考工资&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;15K/人·月&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;IDC 自建机房（独占物理机: 64C384G）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;19.53&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;中级开源数据库 DBA 参考工资&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;30K/人·月&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;IDC 自建机房（容器，超卖500%）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;高级开源数据库 DBA 参考工资&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;60K/人·月&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;UCloud 弹性虚拟机（8C16G，有超卖）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;25&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;ORACLE 数据库授权&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;10000&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 弹性服务器 2x 内存（独占无超卖）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;107&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 RDS PG 2x 内存（独占）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;260&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 弹性服务器 4x 内存（独占无超卖）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;138&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 RDS PG 4x 内存（独占）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;320&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 弹性服务器 8x 内存（独占无超卖）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;180&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;阿里云 RDS PG 8x 内存（独占）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;410&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS C5D.METAL 96C 200G (按月无预付)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;100&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS RDS PostgreSQL db.T2 (2x)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;440&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS C5D.METAL 96C 200G (预付三年)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;80&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS RDS PostgreSQL db.M5 (4x)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;611&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS C7A.METAL 192C 384G (预付三年)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;104.8&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;AWS RDS PostgreSQL db.R6G (8x)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;786&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;rds成本参考&#34;&gt;RDS成本参考&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;付费模式&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;价格&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;折合每年（万¥）&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;IDC 自建（单物理机）&lt;/td&gt;&#xA;      &lt;td&gt;¥7.5w / 5年&lt;/td&gt;&#xA;      &lt;td&gt;1.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;IDC 自建（2～3台组 HA）&lt;/td&gt;&#xA;      &lt;td&gt;¥15w / 5年&lt;/td&gt;&#xA;      &lt;td&gt;3.0 ~ 4.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;阿里云 RDS 按需&lt;/td&gt;&#xA;      &lt;td&gt;¥87.36/时&lt;/td&gt;&#xA;      &lt;td&gt;76.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;阿里云 RDS 月付（基准）&lt;/td&gt;&#xA;      &lt;td&gt;¥4.2w / 月&lt;/td&gt;&#xA;      &lt;td&gt;50&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;阿里云 RDS 年付（85折）&lt;/td&gt;&#xA;      &lt;td&gt;¥425095 / 年&lt;/td&gt;&#xA;      &lt;td&gt;42.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;阿里云 RDS 3年付（5折）&lt;/td&gt;&#xA;      &lt;td&gt;¥750168 / 3年&lt;/td&gt;&#xA;      &lt;td&gt;25&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 按需&lt;/td&gt;&#xA;      &lt;td&gt;$25,817 / 月&lt;/td&gt;&#xA;      &lt;td&gt;217&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 1年不预付&lt;/td&gt;&#xA;      &lt;td&gt;$22,827 / 月&lt;/td&gt;&#xA;      &lt;td&gt;191.7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 3年全预付&lt;/td&gt;&#xA;      &lt;td&gt;12w$ + 17.5k$/月&lt;/td&gt;&#xA;      &lt;td&gt;175&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 中国/宁夏按需&lt;/td&gt;&#xA;      &lt;td&gt;¥197,489 / 月&lt;/td&gt;&#xA;      &lt;td&gt;237&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 中国/宁夏1年不预付&lt;/td&gt;&#xA;      &lt;td&gt;¥143,176 / 月&lt;/td&gt;&#xA;      &lt;td&gt;171&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;AWS 中国/宁夏3年全预付&lt;/td&gt;&#xA;      &lt;td&gt;¥647k + 116k/月&lt;/td&gt;&#xA;      &lt;td&gt;160.6&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;我们可以对比一下自建与云数据库的成本差异：&lt;/p&gt;</description>
      </item>
    <item>
        <title>开源影响力</title>
        <link>https://pgsty.pro/zh/docs/about/compare/impact/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/about/compare/impact/</guid>
        <description>&lt;h2 id=&#34;中国-postgresql-生态项目影响力&#34;&gt;中国 PostgreSQL 生态项目影响力&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;GitHub Star 数降序排列，最后更新时间为北京时间 2026-08-13。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;项目&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Star&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;作者&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;类型&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;简介&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;&lt;code&gt;pgsty/pigsty&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/stargazers&#34;&gt;&lt;strong&gt;5521&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;冯若航 @ &lt;strong&gt;PGSTY&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;发行版&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;开箱即用的 PostgreSQL 发行版&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/polardb/PolarDB-for-PostgreSQL&#34;&gt;&lt;code&gt;polardb/PolarDB-for-PostgreSQL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/polardb/PolarDB-for-PostgreSQL/stargazers&#34;&gt;&lt;strong&gt;3191&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;阿里云&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;阿里云开源 PolarDB for PostgreSQL 内核&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/tensorchord/pgvecto.rs&#34;&gt;&lt;code&gt;tensorchord/pgvecto.rs&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/tensorchord/pgvecto.rs/stargazers&#34;&gt;&lt;strong&gt;2181&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TensorChord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Rust 编写的向量检索扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/tensorchord/VectorChord&#34;&gt;&lt;code&gt;tensorchord/VectorChord&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/tensorchord/VectorChord/stargazers&#34;&gt;&lt;strong&gt;1770&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TensorChord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;下一代向量检索扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Tencent/TBase&#34;&gt;&lt;code&gt;Tencent/TBase&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/Tencent/TBase/stargazers&#34;&gt;&lt;strong&gt;1439&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;腾讯云&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;腾讯分布式 HTAP 数据库内核&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/apache/cloudberry&#34;&gt;&lt;code&gt;apache/cloudberry&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/apache/cloudberry/stargazers&#34;&gt;&lt;strong&gt;1315&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;HashData&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;开源 MPP 数据仓库内核&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/IvorySQL/IvorySQL&#34;&gt;&lt;code&gt;IvorySQL/IvorySQL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/IvorySQL/IvorySQL/stargazers&#34;&gt;&lt;strong&gt;1051&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;济南瀚高&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Oracle 兼容 PostgreSQL 分支&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgplex/pgschema&#34;&gt;&lt;code&gt;pgplex/pgschema&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/pgplex/pgschema/stargazers&#34;&gt;&lt;strong&gt;995&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;陈天舟&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;工具&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;声明式 Postgres Schema 迁移 CLI&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/amutu/zhparser&#34;&gt;&lt;code&gt;amutu/zhparser&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/amutu/zhparser/stargazers&#34;&gt;&lt;strong&gt;869&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Jov&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;基于 SCWS 的中文全文分词扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/opengauss-mirror/openGauss-server&#34;&gt;&lt;code&gt;opengauss-mirror/openGauss-server&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/opengauss-mirror/openGauss-server/stargazers&#34;&gt;&lt;strong&gt;784&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;华为&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;早期 PG 9.2 内核分叉&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/HaloTech-Co-Ltd/openHalo&#34;&gt;&lt;code&gt;HaloTech-Co-Ltd/openHalo&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/HaloTech-Co-Ltd/openHalo/stargazers&#34;&gt;&lt;strong&gt;437&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;易景羲和&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;内核&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;MySQL 协议兼容的 PostgreSQL 内核&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/jaiminpan/pg_jieba&#34;&gt;&lt;code&gt;jaiminpan/pg_jieba&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/jaiminpan/pg_jieba/stargazers&#34;&gt;&lt;strong&gt;417&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pan Jiamin&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;基于结巴分词的中文全文检索扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/alitrack/duckdb_fdw&#34;&gt;&lt;code&gt;alitrack/duckdb_fdw&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/alitrack/duckdb_fdw/stargazers&#34;&gt;&lt;strong&gt;409&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;李红艳&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DuckDB 外部数据源包装器&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/tensorchord/VectorChord-bm25&#34;&gt;&lt;code&gt;tensorchord/VectorChord-bm25&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/tensorchord/VectorChord-bm25/stargazers&#34;&gt;&lt;strong&gt;375&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TensorChord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL 原生 BM25 排序索引&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pg_exporter&#34;&gt;&lt;code&gt;pgsty/pg_exporter&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/pgsty/pg_exporter/stargazers&#34;&gt;&lt;strong&gt;359&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;冯若航 @ &lt;strong&gt;PGSTY&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;工具&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL 与 Pgbouncer 指标采集器&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/ChenHuajun/pg_roaringbitmap&#34;&gt;&lt;code&gt;ChenHuajun/pg_roaringbitmap&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/ChenHuajun/pg_roaringbitmap/stargazers&#34;&gt;&lt;strong&gt;286&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;陈华军 @ 苏宁&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL RoaringBitmap 位图扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;&lt;code&gt;pgsty/pig&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/pgsty/pig/stargazers&#34;&gt;&lt;strong&gt;199&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;冯若航 @ &lt;strong&gt;PGSTY&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;工具&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL 扩展包管理器&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/tensorchord/pg_bestmatch.rs&#34;&gt;&lt;code&gt;tensorchord/pg_bestmatch.rs&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/tensorchord/pg_bestmatch.rs/stargazers&#34;&gt;&lt;strong&gt;101&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TensorChord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;在 PostgreSQL 内生成 BM25 稀疏向量&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/wublabdubdub/PDU-PostgreSQLDataUnloader&#34;&gt;&lt;code&gt;wublabdubdub/PDU-PostgreSQLDataUnloader&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/wublabdubdub/PDU-PostgreSQLDataUnloader/stargazers&#34;&gt;&lt;strong&gt;101&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;张晨&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;工具&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL 数据库救援与数据卸载工具&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/tensorchord/pg_tokenizer.rs&#34;&gt;&lt;code&gt;tensorchord/pg_tokenizer.rs&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/tensorchord/pg_tokenizer.rs/stargazers&#34;&gt;&lt;strong&gt;45&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TensorChord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;全文检索 tokenizer 扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/jaiminpan/pg_scws&#34;&gt;&lt;code&gt;jaiminpan/pg_scws&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/jaiminpan/pg_scws/stargazers&#34;&gt;&lt;strong&gt;41&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pan Jiamin&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;基于 SCWS 的中文分词扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pgext&#34;&gt;&lt;code&gt;pgsty/pgext&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://github.com/pgsty/pgext/stargazers&#34;&gt;&lt;strong&gt;31&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;冯若航 @ &lt;strong&gt;PGSTY&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;工具&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PG 扩展目录与元数据工具&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;script&gt;&#xA;window.OinkEchartsFunctions = window.OinkEchartsFunctions || {};&#xA;(function (registry) {&#xA;var fnum = function(n) {&#xA;  n = Number(n);&#xA;  return Number.isFinite(n) ? n.toLocaleString(&#34;zh-CN&#34;) : &#39;&#39;;&#xA;};&#xA;var labfmt = function(params) {&#xA;  if (!params || params.value == null) return &#39;&#39;;&#xA;  return fnum(params.value);&#xA;};&#xA;var tipfmt = function(params) {&#xA;  if (!params || !params.length) return &#39;&#39;;&#xA;  return &#39;&lt;b&gt;&#39; + params[0].name + &#39;&lt;/b&gt;&lt;br/&gt;&#39; + params[0].marker + &#39; Star: &#39; + fnum(params[0].value);&#xA;};&#xA;var barclr = function(params) {&#xA;  if (params.name === &#39;pgsty/pigsty&#39;) {&#xA;    return new echarts.graphic.LinearGradient(0, 0, 1, 0, [&#xA;      { offset: 0, color: &#39;#d94841&#39; },&#xA;      { offset: 1, color: &#39;#f97316&#39; }&#xA;    ]);&#xA;  }&#xA;  return &#39;#7aa6c2&#39;;&#xA;};&#xA;registry[&#34;fnum&#34;] = fnum;&#xA;registry[&#34;labfmt&#34;] = labfmt;&#xA;registry[&#34;tipfmt&#34;] = tipfmt;&#xA;registry[&#34;barclr&#34;] = barclr;&#xA;})(window.OinkEchartsFunctions);&#xA;&lt;/script&gt;&#xA;&lt;pre class=&#34;td-echarts-source&#34;&gt;&lt;code class=&#34;language-echarts&#34;&gt;tooltip:&#xA;  trigger: axis&#xA;  axisPointer: { type: shadow }&#xA;  formatter: $fn:tipfmt&#xA;grid: { left: 320, right: 72, top: 20, bottom: 26 }&#xA;xAxis:&#xA;  type: value&#xA;  max: 5600&#xA;  name: GitHub Star&#xA;  nameLocation: middle&#xA;  nameGap: 24&#xA;  axisLabel: { formatter: $fn:fnum }&#xA;  splitLine: { show: true, lineStyle: { type: dashed, opacity: 0.45 } }&#xA;yAxis:&#xA;  type: category&#xA;  inverse: true&#xA;  axisLabel:&#xA;    align: right&#xA;    margin: 8&#xA;    width: 300&#xA;    overflow: truncate&#xA;    fontSize: 11&#xA;    fontFamily: monospace&#xA;  data:&#xA;    - &amp;#39;pgsty/pigsty&amp;#39;&#xA;    - &amp;#39;polardb/PolarDB-for-PostgreSQL&amp;#39;&#xA;    - &amp;#39;tensorchord/pgvecto.rs&amp;#39;&#xA;    - &amp;#39;tensorchord/VectorChord&amp;#39;&#xA;    - &amp;#39;Tencent/TBase&amp;#39;&#xA;    - &amp;#39;apache/cloudberry&amp;#39;&#xA;    - &amp;#39;IvorySQL/IvorySQL&amp;#39;&#xA;    - &amp;#39;pgplex/pgschema&amp;#39;&#xA;    - &amp;#39;amutu/zhparser&amp;#39;&#xA;    - &amp;#39;opengauss-mirror/openGauss-server&amp;#39;&#xA;    - &amp;#39;HaloTech-Co-Ltd/openHalo&amp;#39;&#xA;    - &amp;#39;jaiminpan/pg_jieba&amp;#39;&#xA;    - &amp;#39;alitrack/duckdb_fdw&amp;#39;&#xA;    - &amp;#39;tensorchord/VectorChord-bm25&amp;#39;&#xA;    - &amp;#39;pgsty/pg_exporter&amp;#39;&#xA;    - &amp;#39;ChenHuajun/pg_roaringbitmap&amp;#39;&#xA;    - &amp;#39;pgsty/pig&amp;#39;&#xA;    - &amp;#39;tensorchord/pg_bestmatch.rs&amp;#39;&#xA;    - &amp;#39;wublabdubdub/PDU-PostgreSQLDataUnloader&amp;#39;&#xA;    - &amp;#39;tensorchord/pg_tokenizer.rs&amp;#39;&#xA;    - &amp;#39;jaiminpan/pg_scws&amp;#39;&#xA;    - &amp;#39;pgsty/pgext&amp;#39;&#xA;series:&#xA;  - name: Star&#xA;    type: bar&#xA;    barWidth: 20&#xA;    showBackground: true&#xA;    backgroundStyle: { color: &amp;#34;rgba(148, 163, 184, 0.16)&amp;#34; }&#xA;    itemStyle:&#xA;      color: $fn:barclr&#xA;      borderRadius: [0, 5, 5, 0]&#xA;    label:&#xA;      show: true&#xA;      position: right&#xA;      formatter: $fn:labfmt&#xA;      color: &amp;#39;#334155&amp;#39;&#xA;      fontWeight: 600&#xA;    data: [5521, 3191, 2181, 1770, 1439, 1315, 1051, 995, 869, 784, 437, 417, 409, 375, 359, 286, 199, 101, 101, 45, 41, 31]&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;postgresql-发行版影响力指标&#34;&gt;PostgreSQL 发行版影响力指标&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;按 GitHub Star 数降序排列（商业产品无公开 Star 的统一置后），最后更新时间为北京时间 2026-08-13。&lt;/p&gt;</description>
      </item>
    <item>
        <title>RPO 利弊权衡</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/rpo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/rpo/</guid>
        <description>&lt;p&gt;&lt;strong&gt;RPO&lt;/strong&gt;（Recovery Point Objective，恢复点目标）定义了在主库发生故障时，&lt;strong&gt;允许丢失的最大数据量&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;对于金融交易这类数据完整性至关重要的场景，通常要求 RPO = 0，即不允许任何数据丢失；&lt;/p&gt;</description>
      </item>
    <item>
        <title>单机模板</title>
        <link>https://pgsty.pro/zh/docs/conf/_div_solo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/_div_solo/</guid>
        <description></description>
      </item>
    <item>
        <title>INFRA 架构</title>
        <link>https://pgsty.pro/zh/docs/concept/arch/infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/arch/infra/</guid>
        <description>&lt;p&gt;运行生产级别高可用 PostgreSQL 集群，通常需要一套完善的基础设施服务（底座）来支撑，例如监控告警、日志收集、时间同步、DNS 解析，本地软件仓库等。&#xA;Pigsty 提供了 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;INFRA 模块&lt;/strong&gt;&lt;/a&gt; 来解决这个问题 —— 这是一个 &lt;strong&gt;可选模块&lt;/strong&gt;，但我们强烈推荐启用它。&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL 架构</title>
        <link>https://pgsty.pro/zh/docs/concept/arch/pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/arch/pgsql/</guid>
        <description>&lt;p&gt;PGSQL 模块在生产环境中以 &lt;strong&gt;集群&lt;/strong&gt; 的形式组织，这些 &lt;strong&gt;集群&lt;/strong&gt; 是由一组通过 &lt;strong&gt;主-备&lt;/strong&gt; 关联的数据库 &lt;strong&gt;实例&lt;/strong&gt; 组成的 &lt;strong&gt;逻辑实体&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;PGSQL 模块&lt;/strong&gt;&lt;/a&gt; 包含下列组件，协同提供生产级 PostgreSQL 高可用集群服务：&lt;/p&gt;</description>
      </item>
    <item>
        <title>meta</title>
        <link>https://pgsty.pro/zh/docs/conf/meta/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/meta/</guid>
        <description>&lt;p&gt;&lt;code&gt;meta&lt;/code&gt; 配置模板是 Pigsty 默认使用的模板，它的目标是在当前单节点上完成 Pigsty 核心功能 —— PostgreSQL 的部署。&lt;/p&gt;&#xA;&lt;p&gt;为了实现最好的兼容性，&lt;code&gt;meta&lt;/code&gt; 模板仅下载安装包含 &lt;strong&gt;最小必需&lt;/strong&gt; 软件集合，以便在所有操作系统发行版与芯片架构上实现这一目标。&lt;/p&gt;</description>
      </item>
    <item>
        <title>RTO 利弊权衡</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/rto/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/rto/</guid>
        <description>&lt;p&gt;&lt;strong&gt;RTO&lt;/strong&gt;（Recovery Time Objective，恢复时间目标）定义了在主库发生故障时，&lt;strong&gt;系统恢复写入能力所需的最长时间&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;对于核心交易系统这类可用性至关重要的场景，通常要求 RTO 尽可能短，例如一分钟内。&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置清单</title>
        <link>https://pgsty.pro/zh/docs/concept/iac/inventory/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/iac/inventory/</guid>
        <description>&lt;p&gt;每一套 Pigsty 部署都对应着一份 &lt;strong&gt;配置清单&lt;/strong&gt; （Inventory），描述了基础设施与数据库集群的关键属性。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置文件&#34;&gt;配置文件&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 默认使用 &lt;a href=&#34;https://docs.ansible.com/projects/ansible/latest/inventory_guide/intro_inventory.html&#34;&gt;&lt;strong&gt;Ansible YAML 配置格式&lt;/strong&gt;&lt;/a&gt;，&#xA;使用一个单一 YAML 配置文件 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/pigsty.yml&#34;&gt;&lt;strong&gt;&lt;code&gt;pigsty.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 作为配置清单。&lt;/p&gt;</description>
      </item>
    <item>
        <title>时间点恢复的工作原理</title>
        <link>https://pgsty.pro/zh/docs/concept/pitr/mechanism/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/pitr/mechanism/</guid>
        <description>&lt;p&gt;如果把数据库看作一台状态机，那么 &lt;strong&gt;WAL&lt;/strong&gt;（Write-Ahead Log，预写式日志）就是它的完整变更历史 ——&#xA;PostgreSQL 的每一次写入，都会先以日志记录的形式落盘，然后才应用到数据文件上。&#xA;这个为崩溃恢复而生的机制带来了一个副产品：只要把某个时刻的数据文件快照保存下来，&#xA;再持续保留此后产生的 WAL，就可以把数据库 &lt;strong&gt;重放&lt;/strong&gt; 到这段历史所覆盖的任意时间点。&lt;/p&gt;</description>
      </item>
    <item>
        <title>时间点恢复的实现架构</title>
        <link>https://pgsty.pro/zh/docs/concept/pitr/arch/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/pitr/arch/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/pitr/mechanism/&#34;&gt;&lt;strong&gt;原理&lt;/strong&gt;&lt;/a&gt; 一页就能讲完，工程却没有那么简单：&#xA;归档不能拖垮主库的写入性能，备份放到对象存储上要加密，主从切换之后备份不能中断，&#xA;多套集群共用一个仓库时要相互隔离，海量小文件会拖垮备份吞吐……&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置向导</title>
        <link>https://pgsty.pro/zh/docs/concept/iac/configure/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/iac/configure/</guid>
        <description>&lt;p&gt;Pigsty 提供了一个 &lt;strong&gt;&lt;code&gt;configure&lt;/code&gt;&lt;/strong&gt; 脚本作为 &lt;strong&gt;配置向导&lt;/strong&gt;，它能根据当前环境，自动生成合适的 &lt;code&gt;pigsty.yml&lt;/code&gt; 配置文件。&lt;/p&gt;&#xA;&lt;p&gt;这是一个 &lt;strong&gt;可选&lt;/strong&gt; 的脚本：如果您已经了解了如何配置 Pigsty，大可以直接编辑 &lt;code&gt;pigsty.yml&lt;/code&gt; 配置文件，跳过向导。&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置参数</title>
        <link>https://pgsty.pro/zh/docs/concept/iac/parameter/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/iac/parameter/</guid>
        <description>&lt;p&gt;在 &lt;strong&gt;配置清单&lt;/strong&gt; 中，您可以使用各种参数对 Pigsty 进行精细化定制。这些参数涵盖了从基础设施设置到数据库配置的各个方面。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;参数列表&#34;&gt;参数列表&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;按照当前源码与参数参考页对账，Pigsty 的 10 个正式模块共有 &lt;strong&gt;373&lt;/strong&gt; 个公开参数，用于精细控制系统的各个方面；完整列表见 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/param/&#34;&gt;&lt;strong&gt;参考-参数列表&lt;/strong&gt;&lt;/a&gt;。原生 MySQL 8.4 试点模块的 13 个公开参数单列，不计入该合计。&lt;/p&gt;</description>
      </item>
    <item>
        <title>时间点恢复的策略权衡</title>
        <link>https://pgsty.pro/zh/docs/concept/pitr/tradeoff/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/pitr/tradeoff/</guid>
        <description>&lt;p&gt;备份本质上是一份保险：&lt;strong&gt;保费&lt;/strong&gt; 是存储空间、网络带宽与管理成本，&lt;strong&gt;保额&lt;/strong&gt; 是灾难来临时能挽回多少数据、多快恢复服务。&#xA;和所有保险一样，这里没有免费的午餐 —— 更长的恢复窗口意味着更多的空间，更快的恢复意味着更频繁的备份。&lt;/p&gt;</description>
      </item>
    <item>
        <title>声明式恢复</title>
        <link>https://pgsty.pro/zh/docs/concept/pitr/restore/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/pitr/restore/</guid>
        <description>&lt;p&gt;备份系统的全部价值，都在恢复的那一刻兑现。而恢复几乎总是发生在最糟糕的时刻 ——&#xA;生产事故、深夜告警、每一分钟都在损失。传统的 PITR 手工流程在这种时刻是残酷的：&#xA;停 HA、停库、写恢复配置、执行还原、盯日志、验证位点、重建元数据、拉起集群……十几个步骤环环相扣，任何一步出错都可能雪上加霜。&lt;/p&gt;</description>
      </item>
    <item>
        <title>时间点恢复的典型场景</title>
        <link>https://pgsty.pro/zh/docs/concept/pitr/scenarios/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/pitr/scenarios/</guid>
        <description>&lt;p&gt;事故发生时，最贵的不是恢复本身，而是 &lt;strong&gt;决策时间&lt;/strong&gt;。&#xA;恢复的机械步骤已经被 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/pitr/restore/&#34;&gt;&lt;strong&gt;工具编排&lt;/strong&gt;&lt;/a&gt; 好了，真正需要人来回答的只有三个问题：&#xA;&lt;strong&gt;恢复到哪一刻？原地恢复还是克隆恢复？如何验证数据是对的？&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置模板</title>
        <link>https://pgsty.pro/zh/docs/concept/iac/template/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/iac/template/</guid>
        <description>&lt;p&gt;在 Pigsty 中，部署的蓝图细节由 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/config/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt; 所定义，也就是 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/pigsty.yml&#34;&gt;&lt;strong&gt;&lt;code&gt;pigsty.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 配置文件，您可以通过声明式配置进行定制。&lt;/p&gt;&#xA;&lt;p&gt;然而，直接编写配置文件可能会让新用户望而生畏。为此，我们提供了一些开箱即用的配置模板，涵盖了常见的使用场景。&lt;/p&gt;</description>
      </item>
    <item>
        <title>元数据库</title>
        <link>https://pgsty.pro/zh/docs/concept/iac/cmdb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/iac/cmdb/</guid>
        <description>&lt;p&gt;Pigsty 允许您使用 PostgreSQL &lt;strong&gt;元数据库&lt;/strong&gt; 作为动态配置源，取代静态的 YAML 配置文件，实现更强大的配置管理能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;CMDB&lt;/strong&gt;（Configuration Management Database，配置管理数据库）是一种将配置信息存储在数据库中进行管理的方式。&lt;/p&gt;</description>
      </item>
    <item>
        <title>rich</title>
        <link>https://pgsty.pro/zh/docs/conf/rich/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/rich/</guid>
        <description>&lt;p&gt;配置模板 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/rich.yml&#34;&gt;&lt;code&gt;rich&lt;/code&gt;&lt;/a&gt; 是 &lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt; 的增强版本，专为需要完整功能体验的用户设计。&lt;/p&gt;&#xA;&lt;p&gt;如果您希望构建本地软件源、使用 Silo 存储备份、运行 Docker 应用，或需要预置业务数据库，可以使用此模板。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控系统</title>
        <link>https://pgsty.pro/zh/docs/concept/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/monitor/</guid>
        <description>&lt;p&gt;Pigsty 监控系统由指标、日志与告警三部分组成，默认随部署开箱可用；其中日志与告警也是 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/data/#%e5%ae%a1%e8%ae%a1%e4%b8%8e%e8%bf%bd%e6%ba%af&#34;&gt;&lt;strong&gt;审计与追溯&lt;/strong&gt;&lt;/a&gt; 的重要输入。&#xA;它既可以监控由 Pigsty 托管的数据库集群，也可以监控已有 PostgreSQL 集群与外部 RDS 服务。&lt;/p&gt;</description>
      </item>
    <item>
        <title>slim</title>
        <link>https://pgsty.pro/zh/docs/conf/slim/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/slim/</guid>
        <description>&lt;p&gt;&lt;code&gt;slim&lt;/code&gt; 配置模板提供 &lt;strong&gt;精简安装&lt;/strong&gt; 能力，在不部署 Infra 监控基础设施的前提下，直接从互联网安装 PostgreSQL 高可用集群。&lt;/p&gt;&#xA;&lt;p&gt;当您只需要一个可用的数据库实例，不需要监控系统时，可以考虑使用 &lt;strong&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/slim/&#34;&gt;精简安装&lt;/a&gt;&lt;/strong&gt; 模式。&lt;/p&gt;</description>
      </item>
    <item>
        <title>安全模型</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/level/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/level/</guid>
        <description>&lt;p&gt;在讨论具体的安全特性之前，值得先回答两个更基本的问题：&lt;strong&gt;信任的根在哪里&lt;/strong&gt;，以及 &lt;strong&gt;防线有几道&lt;/strong&gt;。&#xA;前者决定了你应该重点保护什么，后者决定了当某一道防线失守时，你还剩下什么。&lt;/p&gt;</description>
      </item>
    <item>
        <title>身份认证</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/auth/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/auth/</guid>
        <description>&lt;p&gt;PostgreSQL 使用 &lt;code&gt;pg_hba.conf&lt;/code&gt; 进行 &lt;strong&gt;基于主机的认证&lt;/strong&gt;（Host-Based Authentication）：谁（用户）、从哪里（来源地址）、访问什么（数据库）、需要以何种方式证明身份（认证方法）。&lt;/p&gt;</description>
      </item>
    <item>
        <title>访问控制</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/ac/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/ac/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;认证&lt;/strong&gt;&lt;/a&gt; 回答“你是谁”，授权回答“你能做什么”。&lt;/p&gt;&#xA;&lt;p&gt;权限失控很少是因为缺少机制 —— PostgreSQL 的 &lt;code&gt;GRANT&lt;/code&gt; 与 &lt;code&gt;REVOKE&lt;/code&gt; 足够精细。问题在于缺少一套被默认执行的约定：&#xA;业务上线时直接把账号设为属主；临时排障授予超级用户后没有及时回收；新表创建后遗漏授权，最终在生产环境触发权限错误。&lt;/p&gt;</description>
      </item>
    <item>
        <title>加密通信</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/ca/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/ca/</guid>
        <description>&lt;p&gt;TLS 可以提供三类保护：&lt;strong&gt;传输加密&lt;/strong&gt;、&lt;strong&gt;服务端身份验证&lt;/strong&gt; 与 &lt;strong&gt;客户端身份验证&lt;/strong&gt;。这三项能力需要分别配置：启用服务端 TLS 并不等于客户端已经验证了服务端身份，也不等于服务端要求客户端证书。&lt;/p&gt;</description>
      </item>
    <item>
        <title>数据安全</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/data/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/data/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/level/#%e7%bd%91%e7%bb%9c%e8%be%b9%e7%95%8c&#34;&gt;&lt;strong&gt;网络边界&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;身份认证&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;&lt;strong&gt;权限控制&lt;/strong&gt;&lt;/a&gt; 用于降低事件发生的概率；当硬件损坏、口令泄露或误操作已经发生时，还需要依靠数据层机制控制影响并完成恢复。&lt;/p&gt;&#xA;&lt;p&gt;数据安全要回答四个问题：数据是 &lt;strong&gt;完整&lt;/strong&gt; 的吗？丢了能 &lt;strong&gt;恢复&lt;/strong&gt; 吗？被拿走了会 &lt;strong&gt;泄密&lt;/strong&gt; 吗？发生了什么能 &lt;strong&gt;查清&lt;/strong&gt; 吗？&lt;/p&gt;</description>
      </item>
    <item>
        <title>合规实践</title>
        <link>https://pgsty.pro/zh/docs/concept/sec/compliance/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/sec/compliance/</guid>
        <description>&lt;p&gt;合规不是一个可以购买的产品，而是一种需要持续证明的状态。它由三部分组成：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;配置&lt;/strong&gt;：安全能力是否启用 —— 这部分由 Pigsty 直接提供；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;流程&lt;/strong&gt;：权限审批、变更管理、恢复演练等制度 —— 需要组织自行建立；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;证据&lt;/strong&gt;：能证明前两者持续有效的记录 —— Pigsty 的 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt;、运行日志和 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/monitor/&#34;&gt;&lt;strong&gt;监控系统&lt;/strong&gt;&lt;/a&gt; 可以提供其中一部分。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;本页从上线前的加固清单开始，给出 Pigsty 安全能力与常见合规框架的映射关系。&#xA;这些映射用于方案设计和差距分析，不构成等保测评结论、SOC 2 审计意见或法律建议。&lt;/p&gt;</description>
      </item>
    <item>
        <title>fat</title>
        <link>https://pgsty.pro/zh/docs/conf/fat/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/fat/</guid>
        <description>&lt;p&gt;&lt;code&gt;fat&lt;/code&gt; 配置模板是 Pigsty 的 &lt;strong&gt;功能全测试模板&lt;/strong&gt;（Feature-All-Test），在单节点上安装所有扩展插件，并构建包含 PostgreSQL 14-18 全部五个大版本所有扩展的本地软件源。&lt;/p&gt;</description>
      </item>
    <item>
        <title>infra</title>
        <link>https://pgsty.pro/zh/docs/conf/infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/infra/</guid>
        <description>&lt;p&gt;&lt;code&gt;infra&lt;/code&gt; 配置模板仅部署 Pigsty 的可观测性基础设施组件（VictoriaMetrics/Grafana/VictoriaLogs/Nginx 等），不包含 PostgreSQL 与 etcd。&lt;/p&gt;</description>
      </item>
    <item>
        <title>快速上手 Pigsty 单机部署</title>
        <link>https://pgsty.pro/zh/docs/setup/install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/install/</guid>
        <description>&lt;p&gt;本文是 Pigsty 单节点安装指南 &lt;span class=&#34;td-badge td-badge--info&#34;&gt;单节点&lt;/span&gt;，生产环境的多节点高可用部署请参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/&#34;&gt;&lt;strong&gt;部署&lt;/strong&gt;&lt;/a&gt; 文档。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 单机安装分为三步走：&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/#%e5%ae%89%e8%a3%85&#34;&gt;&lt;strong&gt;安装&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/#%e9%85%8d%e7%bd%ae&#34;&gt;&lt;strong&gt;配置&lt;/strong&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/#%e9%83%a8%e7%bd%b2&#34;&gt;&lt;strong&gt;部署&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;摘要&#34;&gt;摘要&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/prepare/&#34;&gt;&lt;strong&gt;准备&lt;/strong&gt;&lt;/a&gt; 一台具有 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#ssh&#34;&gt;&lt;strong&gt;SSH 权限&lt;/strong&gt;&lt;/a&gt; 的 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/prepare/#%e8%8a%82%e7%82%b9&#34;&gt;&lt;strong&gt;节点&lt;/strong&gt;&lt;/a&gt;，&#xA;安装 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/&#34;&gt;&lt;strong&gt;兼容的 Linux 系统&lt;/strong&gt;&lt;/a&gt;，使用具有免密 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#ssh&#34;&gt;&lt;strong&gt;&lt;code&gt;ssh&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#sudo&#34;&gt;&lt;strong&gt;&lt;code&gt;sudo&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 权限的 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/&#34;&gt;&lt;strong&gt;管理用户&lt;/strong&gt;&lt;/a&gt; 执行：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Docker 部署</title>
        <link>https://pgsty.pro/zh/docs/setup/docker/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/docker/</guid>
        <description>&lt;p&gt;Pigsty 旨在运行于原生 Linux 系统上，但也可以在带有 systemd 的 Linux 容器环境中运行。&#xA;如果您没有原生 Linux 环境（例如 &lt;strong&gt;macOS&lt;/strong&gt; 或 &lt;strong&gt;Windows&lt;/strong&gt; 用户），可以使用 Docker 快速拉起一个本地单机 Pigsty 环境进行测试与体验。&lt;/p&gt;</description>
      </item>
    <item>
        <title>vibe</title>
        <link>https://pgsty.pro/zh/docs/conf/vibe/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/vibe/</guid>
        <description>&lt;p&gt;&lt;code&gt;vibe&lt;/code&gt; 配置模板提供了一个开箱即用的 &lt;strong&gt;AI 编程沙箱&lt;/strong&gt;，集成了 Code-Server（Web VS Code）、JupyterLab、Claude Code 可观测能力、Codex CLI、JuiceFS 分布式文件系统，以及功能丰富的 PostgreSQL 数据库。&lt;/p&gt;</description>
      </item>
    <item>
        <title>从浏览器访问图形用户界面</title>
        <link>https://pgsty.pro/zh/docs/setup/webui/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/webui/</guid>
        <description>&lt;p&gt;Pigsty &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;单机安装&lt;/strong&gt;&lt;/a&gt; 完成后，您在当前节点上将安装有 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块，它带有一套开箱即用的 Nginx Web 服务器。&lt;/p&gt;&#xA;&lt;p&gt;其中的默认服务器配置提供了一个 WebUI 图形界面，用于展示监控仪表盘，并统一代理访问其他组件的 Web 界面。&lt;/p&gt;</description>
      </item>
    <item>
        <title>快速上手 PostgreSQL</title>
        <link>https://pgsty.pro/zh/docs/setup/pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/pgsql/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.postgresql.org/&#34;&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&lt;/a&gt;（简称 PG）是世界上最先进、最流行的开源关系型数据库，你可以用它来存储和检索多模态数据。&lt;/p&gt;&#xA;&lt;p&gt;本指南面向有基础 Linux 基本命令行操作经验、但对 PostgreSQL 不太熟悉的开发者，带你快速上手 Pigsty 中的 PG。&lt;/p&gt;</description>
      </item>
    <item>
        <title>docker</title>
        <link>https://pgsty.pro/zh/docs/conf/docker/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/docker/</guid>
        <description>&lt;p&gt;&lt;code&gt;docker&lt;/code&gt; 配置模板用于在 Docker 容器内运行 Pigsty，提供最小可用的单节点基础设施与 PostgreSQL 能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;docker&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点（容器环境）&lt;/li&gt;&#xA;&lt;li&gt;配置说明：容器内快速体验模板，使用 &lt;code&gt;127.0.0.1&lt;/code&gt; 与精简系统能力，适配 Docker 场景。&lt;/li&gt;&#xA;&lt;li&gt;适用系统：容器镜像内置环境（建议配合官方 Pigsty Docker 镜像）&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/vibe/&#34;&gt;&lt;code&gt;vibe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>通过配置清单定制 Pigsty 部署</title>
        <link>https://pgsty.pro/zh/docs/setup/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/config/</guid>
        <description>&lt;p&gt;除了使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/configure/&#34;&gt;&lt;strong&gt;配置向导&lt;/strong&gt;&lt;/a&gt; 自动生成配置，您也可以从零开始手工编写 Pigsty 配置文件。&#xA;本教程将指导您从头开始，逐步构建一个复杂的 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;如果您事先在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/inventory/&#34;&gt;&lt;strong&gt;配置清单&lt;/strong&gt;&lt;/a&gt; 中定义好 NODE、INFRA、ETCD、MINIO 与 PGSQL，那么 &lt;code&gt;deploy.yml&lt;/code&gt; 可以一次性完成这条核心链路的部署，但它隐藏了所有细节。Docker、Redis、Kafka、原生 MySQL、JUICE 与 VIBE 等可选模块需要另行执行各自的剧本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>使用 Ansible 剧本完成部署</title>
        <link>https://pgsty.pro/zh/docs/setup/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/playbook/</guid>
        <description>&lt;p&gt;Pigsty 使用 &lt;a href=&#34;https://docs.ansible.com/&#34;&gt;&lt;strong&gt;Ansible&lt;/strong&gt;&lt;/a&gt; 对集群进行管理，这是在 SRE 群体中非常流行的大规模/批量化/自动化运维工具。&lt;/p&gt;&#xA;&lt;p&gt;Ansible 可以使用 &lt;strong&gt;声明式&lt;/strong&gt; 的方式对服务器进行配置管理，所有模块的部署都是通过一系列幂等的 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/playbook/&#34;&gt;&lt;strong&gt;Ansible 剧本&lt;/strong&gt;&lt;/a&gt; 实现的。&lt;/p&gt;</description>
      </item>
    <item>
        <title>离线安装</title>
        <link>https://pgsty.pro/zh/docs/setup/offline/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/offline/</guid>
        <description>&lt;p&gt;Pigsty 默认从互联网上游 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;安装&lt;/strong&gt;&lt;/a&gt; 所需软件包，但有些环境与互联网隔离。&#xA;为了解决这个问题，Pigsty 支持使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/offline/#%e7%a6%bb%e7%ba%bf%e8%bd%af%e4%bb%b6%e5%8c%85&#34;&gt;&lt;strong&gt;离线软件包&lt;/strong&gt;&lt;/a&gt; 进行离线安装。&#xA;您可以将其视作 Linux- 原生版本的 Docker 镜像。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;离线软件包&lt;/strong&gt; 打包了所有需要的 RPM/DEB 软件包及其依赖；它是常规 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;安装&lt;/strong&gt;&lt;/a&gt; 后的本地 APT / YUM 仓库的快照。&lt;/p&gt;</description>
      </item>
    <item>
        <title>精简安装</title>
        <link>https://pgsty.pro/zh/docs/setup/slim/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/slim/</guid>
        <description>&lt;p&gt;如果您只想要高可用 PostgreSQL 数据库集群本身，而不需要监控、基础设施等功能，请考虑 &lt;strong&gt;精简安装&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;精简安装没有 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块，没有监控，没有 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/offline/&#34;&gt;&lt;strong&gt;本地仓库&lt;/strong&gt;&lt;/a&gt;，只有 &lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 以及部分 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 功能。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--tip&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-lightbulb&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;精简安装适合以下场景&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;只需要 PostgreSQL 数据库本身，不需要可观测性基础设施。&lt;/li&gt;&#xA;&lt;li&gt;资源极度受限的环境，不愿意承担基础设施开销（单机约 0.2 vCPU / 500MB 开销）&lt;/li&gt;&#xA;&lt;li&gt;已有外部监控系统，希望统一使用自己的监控管理体系。&lt;/li&gt;&#xA;&lt;li&gt;不需要 Grafana 可视化看板组件。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;div class=&#34;td-callout td-callout--warning&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-triangle-exclamation&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;精简安装的局限性&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;没有 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;基础设施模块&lt;/strong&gt;&lt;/a&gt;，无法使用 WebUI 和本地软件仓库功能。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/offline/&#34;&gt;&lt;strong&gt;离线安装&lt;/strong&gt;&lt;/a&gt; 仅限单机模式使用，多节点精简安装只能在线安装。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用精简安装，您需要：&lt;/p&gt;</description>
      </item>
    <item>
        <title>安全建议</title>
        <link>https://pgsty.pro/zh/docs/setup/security/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/setup/security/</guid>
        <description>&lt;p&gt;默认配置适用于本地演示和受信内网中的开发测试。只要部署可能被其他主机访问，就应至少完成凭据、网络和关键文件三项检查。&lt;/p&gt;&#xA;&lt;p&gt;生产环境还应参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/level/&#34;&gt;&lt;strong&gt;安全模型&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/compliance/&#34;&gt;&lt;strong&gt;合规实践&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/security/&#34;&gt;&lt;strong&gt;安全考量&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;密码&#34;&gt;密码&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 的默认凭据公开记录在源码和文档中，不能直接用于生产。&lt;/p&gt;</description>
      </item>
    <item>
        <title>生产部署</title>
        <link>https://pgsty.pro/zh/docs/deploy/install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/install/</guid>
        <description>&lt;p&gt;本文是 Pigsty 生产环境多节点部署指南，部署单机版本 Demo/Dev 环境可以参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/&#34;&gt;&lt;strong&gt;快速上手&lt;/strong&gt;&lt;/a&gt; 文档。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;摘要&#34;&gt;摘要&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/prepare/&#34;&gt;&lt;strong&gt;准备&lt;/strong&gt;&lt;/a&gt; &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/planning/&#34;&gt;&lt;strong&gt;几台&lt;/strong&gt;&lt;/a&gt; 具有 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#ssh&#34;&gt;&lt;strong&gt;SSH 权限&lt;/strong&gt;&lt;/a&gt; 的 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/prepare/#%e8%8a%82%e7%82%b9&#34;&gt;&lt;strong&gt;节点&lt;/strong&gt;&lt;/a&gt;，&#xA;安装 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/&#34;&gt;&lt;strong&gt;兼容的 Linux 系统&lt;/strong&gt;&lt;/a&gt;，使用具有免密 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#ssh&#34;&gt;&lt;strong&gt;&lt;code&gt;ssh&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#sudo&#34;&gt;&lt;strong&gt;&lt;code&gt;sudo&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 权限的 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/&#34;&gt;&lt;strong&gt;管理用户&lt;/strong&gt;&lt;/a&gt; 执行：&lt;/p&gt;</description>
      </item>
    <item>
        <title>资源准备</title>
        <link>https://pgsty.pro/zh/docs/deploy/prepare/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/prepare/</guid>
        <description>&lt;p&gt;Pigsty 运行在节点（物理机或虚拟机）之上，本文档介绍硬件相关的规划与准备。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;节点&#34;&gt;节点&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 目前运行在 &lt;code&gt;Linux&lt;/code&gt; 内核和 &lt;code&gt;x86_64&lt;/code&gt; / &lt;code&gt;aarch64&lt;/code&gt; 架构的节点上。&#xA;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/arch/node/&#34;&gt;&amp;quot;&lt;strong&gt;节点&lt;/strong&gt;&amp;quot;&lt;/a&gt; 指的是 SSH &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#%e9%aa%8c%e8%af%81%e5%8f%af%e8%be%be%e6%80%a7&#34;&gt;&lt;strong&gt;可访问&lt;/strong&gt;&lt;/a&gt; 且提供裸 Linux 操作系统环境的资源。&#xA;它可以是物理机、虚拟机或配备 &lt;code&gt;systemd&lt;/code&gt;、&lt;code&gt;sudo&lt;/code&gt; 和 &lt;code&gt;sshd&lt;/code&gt; 的类似操作系统的容器。&lt;/p&gt;</description>
      </item>
    <item>
        <title>架构规划</title>
        <link>https://pgsty.pro/zh/docs/deploy/planning/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/planning/</guid>
        <description>&lt;p&gt;Pigsty 采用 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/arch/&#34;&gt;&lt;strong&gt;模块化架构&lt;/strong&gt;&lt;/a&gt;，您可以像搭积木一样组合出自己想要的部署方案，并用简单的 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/iac/&#34;&gt;&lt;strong&gt;声明式配置&lt;/strong&gt;&lt;/a&gt; 表达您的意图。&lt;/p&gt;&#xA;&lt;h2 id=&#34;常见方案&#34;&gt;常见方案&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;这里有一些常见的组合模式供您参考，您可以根据自己的需求进行进一步的定制与调整：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;方案&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;INFRA&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;ETCD&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;PGSQL&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;MINIO&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;单机部署（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;strong&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;单机部署&lt;/strong&gt;&lt;/a&gt; 默认配置，经典方案&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;单机部署（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/slim/&#34;&gt;&lt;strong&gt;&lt;code&gt;slim&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;不要监控设施，只要数据库&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;基础设施（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;infra&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;只要监控基础设施&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;单机部署（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/rich/&#34;&gt;&lt;strong&gt;&lt;code&gt;rich&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td&gt;单机 + 对象存储 + 本地仓库/扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;多节点方案&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;INFRA&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;ETCD&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;PGSQL&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;MINIO&lt;/strong&gt;&lt;/a&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;双节点（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/dual/&#34;&gt;&lt;strong&gt;&lt;code&gt;dual&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;2节点半 HA，可容忍坏特定一个&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;三节点（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/trio/&#34;&gt;&lt;strong&gt;&lt;code&gt;trio&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;标准3节点 HA，可容忍坏一个&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;四节点（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/full/&#34;&gt;&lt;strong&gt;&lt;code&gt;full&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1+3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;      &lt;td&gt;演示专用，1 INFRA/ETCD&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;生产部署（&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/simu/&#34;&gt;&lt;strong&gt;&lt;code&gt;simu&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;n&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;n&lt;/td&gt;&#xA;      &lt;td&gt;2个 INFRA，3个 ETCD&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;大规模生产（自定义）&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;n&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;n&lt;/td&gt;&#xA;      &lt;td&gt;3个 INFRA，5个 ETCD&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;使用什么样的架构规划方案，取决于您对数据库可靠性的要求，以及手头可用的资源。&#xA;通常来说，严肃的生产环境部署至少需要 &lt;strong&gt;3&lt;/strong&gt; 个节点以实现 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/planning/#%e4%b8%89%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae&#34;&gt;&lt;strong&gt;高可用配置&lt;/strong&gt;&lt;/a&gt;。&#xA;如果您只有 &lt;strong&gt;2&lt;/strong&gt; 个节点，则可以使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/planning/#%e5%8f%8c%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae&#34;&gt;&lt;strong&gt;半高可用配置&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理机制</title>
        <link>https://pgsty.pro/zh/docs/deploy/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/admin/</guid>
        <description>&lt;p&gt;Pigsty 需要一个在所有被管理节点上具有免密 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#ssh&#34;&gt;&lt;strong&gt;SSH&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/admin/#sudo&#34;&gt;&lt;strong&gt;Sudo&lt;/strong&gt;&lt;/a&gt; 权限的操作系统 &lt;strong&gt;管理用户&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;这个用户需要能够通过 ssh 访问到所有被管理节点，并且能够在这些节点上执行 sudo 命令。&lt;/p&gt;&#xA;&lt;p&gt;要想将节点纳入 Pigsty 中管理，&lt;/p&gt;</description>
      </item>
    <item>
        <title>沙箱环境</title>
        <link>https://pgsty.pro/zh/docs/deploy/sandbox/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/sandbox/</guid>
        <description>&lt;p&gt;Pigsty 提供了一个标准的四节点 &lt;strong&gt;沙箱环境&lt;/strong&gt;，用于学习、测试与功能演示。&lt;/p&gt;&#xA;&lt;p&gt;沙箱使用固定的 IP 地址和预定义的身份标识符，便于复现各种演示用例。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;环境描述&#34;&gt;环境描述&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;默认的沙箱环境由 4 个节点组成，默认使用配置文件 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/ha/full.yml&#34;&gt;&lt;code&gt;ha/full.yml&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Vagrant</title>
        <link>https://pgsty.pro/zh/docs/deploy/vagrant/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/vagrant/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.vagrantup.com/&#34;&gt;&lt;strong&gt;Vagrant&lt;/strong&gt;&lt;/a&gt; 是一个流行的本地虚拟化工具，可以按照声明式的方式创建本地虚拟机。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 需要 Linux 环境运行，您可以使用 Vagrant 轻松在本地创建 Linux 虚拟机进行测试。&lt;/p&gt;&#xA;&lt;p&gt;当前推荐并验证的基线为 Rocky Linux 9.8 / 10.2、Debian 12.15 / 13.6，以及 Ubuntu 22.04.5 / 24.04.4 / 26.04.0；Vagrant 的大版本别名会映射到对应的固定 Box 版本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Terraform</title>
        <link>https://pgsty.pro/zh/docs/deploy/terraform/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/terraform/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.terraform.io/&#34;&gt;&lt;strong&gt;Terraform&lt;/strong&gt;&lt;/a&gt; 是一个流行的&amp;quot;基础设施即代码&amp;quot;工具，您可以使用它在公有云上一键创建虚拟机。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 当前提供阿里云、AWS（全球与中国区）、Azure、GCP、腾讯云、Hetzner、Vultr、DigitalOcean 与 Linode 的 Terraform 示例模板；其中 &lt;code&gt;aliyun-s3.tf&lt;/code&gt; 还会为 S3/pgBackRest 场景创建私有 OSS Bucket 与专用 RAM 读写凭据。&lt;/p&gt;</description>
      </item>
    <item>
        <title>安全考量</title>
        <link>https://pgsty.pro/zh/docs/deploy/security/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/deploy/security/</guid>
        <description>&lt;p&gt;Pigsty 默认配置面向受信内网中的开发、测试和演示。生产部署需要根据实际威胁模型完成凭据、网络、认证、证书、备份和审计配置。&lt;/p&gt;&#xA;&lt;p&gt;安全机制及其边界见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/&#34;&gt;&lt;strong&gt;安全与合规&lt;/strong&gt;&lt;/a&gt;，可执行检查项见 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/compliance/#%e4%b8%8a%e7%ba%bf%e6%a3%80%e6%9f%a5&#34;&gt;&lt;strong&gt;合规实践&lt;/strong&gt;&lt;/a&gt;。&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/safe/&#34;&gt;&lt;strong&gt;&lt;code&gt;ha/safe&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 是加固配置示例，不替代逐项审查。&lt;/p&gt;</description>
      </item>
    <item>
        <title>内核模板</title>
        <link>https://pgsty.pro/zh/docs/conf/_div_kernel/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/_div_kernel/</guid>
        <description></description>
      </item>
    <item>
        <title>pgsql</title>
        <link>https://pgsty.pro/zh/docs/conf/pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/pgsql/</guid>
        <description>&lt;p&gt;&lt;code&gt;pgsql&lt;/code&gt; 配置模板使用原生 PostgreSQL 内核，是 Pigsty 的默认数据库内核，稳定支持 PostgreSQL 14 到 18。当前 &lt;code&gt;configure&lt;/code&gt; 也接受版本 19，但 PG19 仍是 Beta，建议使用专用 &lt;a href=&#34;https://pgsty.pro/zh/docs/conf/pg19/&#34;&gt;&lt;code&gt;pg19&lt;/code&gt;&lt;/a&gt; 模板试用。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;pgsql&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：原生 PostgreSQL 内核配置模板&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>pg19</title>
        <link>https://pgsty.pro/zh/docs/conf/pg19/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/pg19/</guid>
        <description>&lt;p&gt;&lt;code&gt;pg19&lt;/code&gt; 是 PostgreSQL 19 Beta 的单节点试用模板。它基于 &lt;code&gt;meta&lt;/code&gt; 拓扑，但启用 &lt;code&gt;beta&lt;/code&gt; 软件仓库，并将本地仓库的额外缓存范围缩小到 PGSQL 核心包，不预装扩展。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;pg19&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：单节点&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 版本：&lt;code&gt;19&lt;/code&gt; Beta&lt;/li&gt;&#xA;&lt;li&gt;适用场景：新版本功能验证、兼容性测试&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/pgsql/&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>mssql</title>
        <link>https://pgsty.pro/zh/docs/conf/mssql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/mssql/</guid>
        <description>&lt;p&gt;&lt;code&gt;mssql&lt;/code&gt; 配置模板使用 &lt;strong&gt;PostgreSQL 17 兼容的 Babelfish&lt;/strong&gt; 内核替代原生 PostgreSQL，提供 Microsoft SQL Server 线缆协议（TDS）与 T-SQL 语法兼容能力。当前模板固定 &lt;code&gt;pg_version: 17&lt;/code&gt;；&lt;code&gt;configure&lt;/code&gt; 不会用 &lt;code&gt;-v&lt;/code&gt; 覆盖此固定内核版本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>polar</title>
        <link>https://pgsty.pro/zh/docs/conf/polar/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/polar/</guid>
        <description>&lt;p&gt;&lt;code&gt;polar&lt;/code&gt; 配置模板使用阿里云 PolarDB for PostgreSQL 数据库内核替代原生 PostgreSQL，提供&amp;quot;云原生&amp;quot; Aurora 风格的存算分离能力。&lt;/p&gt;&#xA;&lt;p&gt;完整教程请参考：&lt;strong&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/polardb/&#34;&gt;PolarDB for PostgreSQL (POLAR) 内核使用说明&lt;/a&gt;&lt;/strong&gt;；所有内核分支的差异与版本口径见 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/&#34;&gt;PGSQL 内核总览&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>cloudberry</title>
        <link>https://pgsty.pro/zh/docs/conf/cloudberry/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/cloudberry/</guid>
        <description>&lt;p&gt;当前版本暂未提供 &lt;code&gt;cloudberry&lt;/code&gt; 配置模板。&lt;/p&gt;&#xA;&lt;p&gt;如果你需要该模板，请先参考：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/cloudberry/&#34;&gt;内核版本：Cloudberry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/&#34;&gt;配置模板总览&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>ivory</title>
        <link>https://pgsty.pro/zh/docs/conf/ivory/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/ivory/</guid>
        <description>&lt;p&gt;&lt;code&gt;ivory&lt;/code&gt; 配置模板使用瀚高的 IvorySQL 数据库内核替代原生 PostgreSQL，提供 Oracle 语法与 PL/SQL 兼容能力。&lt;/p&gt;&#xA;&lt;p&gt;完整教程请参考：&lt;strong&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/ivorysql/&#34;&gt;IvorySQL (Oracle兼容) 内核使用说明&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;ivory&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：使用 IvorySQL Oracle 兼容内核&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置与参考</title>
        <link>https://pgsty.pro/zh/docs/_div_ref/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/_div_ref/</guid>
        <description></description>
      </item>
    <item>
        <title>agens</title>
        <link>https://pgsty.pro/zh/docs/conf/agens/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/agens/</guid>
        <description>&lt;p&gt;&lt;code&gt;agens&lt;/code&gt; 配置模板使用 AgensGraph 数据库内核替代原生 PostgreSQL，提供属性图模型与 Cypher 查询能力。&lt;/p&gt;&#xA;&lt;p&gt;完整教程请参考：&lt;strong&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/agensgraph/&#34;&gt;AgensGraph 内核使用说明&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;agens&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：AgensGraph（PG17）图数据库内核配置&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/pgsql/&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Linux 兼容性</title>
        <link>https://pgsty.pro/zh/docs/ref/linux/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/linux/</guid>
        <description>&lt;p&gt;Pigsty 运行于 &lt;strong&gt;Linux&lt;/strong&gt; 操作系统上，支持 &lt;strong&gt;&lt;code&gt;amd64/x86_64&lt;/code&gt;&lt;/strong&gt; 与 &lt;strong&gt;&lt;code&gt;arm64/aarch64&lt;/code&gt;&lt;/strong&gt; 架构，支持 &lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/#el&#34;&gt;&lt;strong&gt;EL&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/#debian&#34;&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/ref/linux/#ubuntu&#34;&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt;&lt;/a&gt; 三大主流 Linux 发行版。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 不使用任何虚拟化容器化技术，直接运行于裸操作系统上。我们为三大主流 Linux 发行版生命周期内的主流大版本与两种架构提供支持。&lt;/p&gt;</description>
      </item>
    <item>
        <title>pgedge</title>
        <link>https://pgsty.pro/zh/docs/conf/pgedge/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/pgedge/</guid>
        <description>&lt;p&gt;&lt;code&gt;pgedge&lt;/code&gt; 配置模板使用 pgEdge 数据库内核替代原生 PostgreSQL，提供面向边缘场景的分布式与多主复制能力。&lt;/p&gt;&#xA;&lt;p&gt;完整教程请参考：&lt;strong&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/pgedge/&#34;&gt;pgEdge 内核使用说明&lt;/a&gt;&lt;/strong&gt;；所有内核分支的差异与版本口径见 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/&#34;&gt;PGSQL 内核总览&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>模块列表</title>
        <link>https://pgsty.pro/zh/docs/ref/module/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/module/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;正式模块&#34;&gt;正式模块&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;stretch-last&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;模块&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;类别&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;状态&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;文档入口&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;简介&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;核心&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/pgsql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;高可用 PostgreSQL 集群，内置备份、监控、SOP 与扩展生态。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;核心&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/infra&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;本地软件仓库 + VictoriaMetrics/Logs/Traces + Grafana 等基础设施。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;核心&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/node&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;节点初始化与收敛：系统调优、管理员、HAProxy、Vector、Keepalived 等。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;核心&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/etcd&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PostgreSQL 高可用 DCS（服务发现、配置、选主元数据）。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/minio&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;部署 Silo S3 兼容对象存储，可作为 PostgreSQL 备份仓库。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/redis&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Redis（默认）或 Valkey 的独立/哨兵/集群模式部署与监控。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/docker/&#34;&gt;&lt;strong&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;GA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/docker&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Docker Daemon 及容器化应用运行基础能力。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/&#34;&gt;&lt;strong&gt;&lt;code&gt;JUICE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;BETA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/juice&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JuiceFS 分布式文件系统，使用 PostgreSQL 作为元数据引擎。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/&#34;&gt;&lt;strong&gt;&lt;code&gt;VIBE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;BETA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/vibe&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;浏览器化开发环境，集成 Code-Server、JupyterLab、Node.js、Claude Code 与 Codex CLI。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;BETA&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;/docs/kafka&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Apache Kafka 4.x dynamic KRaft 集群部署、安全基线与监控。&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;核心模块&#34;&gt;核心模块&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 提供了四个 &lt;span class=&#34;text-primary&#34;&gt;&lt;b&gt;基础&lt;/b&gt;&lt;/span&gt; 功能模块，对于提供完整高可用的 PostgreSQL 服务非常重要：&lt;/p&gt;</description>
      </item>
    <item>
        <title>mysql</title>
        <link>https://pgsty.pro/zh/docs/conf/mysql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/mysql/</guid>
        <description>&lt;p&gt;&lt;code&gt;mysql&lt;/code&gt; 配置模板使用 OpenHalo 数据库内核替代原生 PostgreSQL，提供 MySQL 线缆协议与 SQL 语法兼容能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;mysql&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：OpenHalo MySQL 兼容内核配置&lt;/li&gt;&#xA;&lt;li&gt;适用系统：EL 8/9/10、Debian 12/13、Ubuntu 22/24/26&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;、&lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>文件结构</title>
        <link>https://pgsty.pro/zh/docs/ref/fhs/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/fhs/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;pigsty-fhs&#34;&gt;Pigsty FHS&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 的主目录默认放置于 &lt;code&gt;~/pigsty&lt;/code&gt;，该目录下的文件结构如下所示：&lt;/p&gt;&#xA;&lt;pre class=&#34;td-filetree-source&#34;&gt;&lt;code class=&#34;language-filetree&#34;&gt;- app/   {open=false}&#xA;  - 应用模板资源&#xA;- bin/   {open=false}&#xA;  - 管理与运维脚本&#xA;- files/&#xA;  - victoria/   {open=false}&#xA;    - 规则与运维脚本&#xA;  - grafana/   {open=false}&#xA;    - Grafana 仪表盘&#xA;  - postgres/   {open=false}&#xA;    - PostgreSQL 管理脚本&#xA;  - migration/   {open=false}&#xA;    - 数据迁移任务定义&#xA;  - pki/   {open=false}&#xA;    - 自签名 CA 与证书&#xA;- roles/   {open=false}&#xA;  - Ansible 角色实现&#xA;- templates/   {open=false}&#xA;  - Ansible 模板文件&#xA;- vagrant/   {open=false}&#xA;  - Vagrant 沙箱定义&#xA;- terraform/   {open=false}&#xA;  - Terraform 云资源模板&#xA;- configure&#xA;- ansible.cfg&#xA;- pigsty.yml&#xA;- *.yml&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;/infra&lt;/code&gt; 是 &lt;code&gt;/data/infra&lt;/code&gt; 的运行时软链接，集中存放可观测性数据与生成的配置：&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/ref/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/param/</guid>
        <description>&lt;p&gt;本文是 Pigsty v4.x 的参数导航页，不重复展开每个参数的详细解释。&#xA;参数细节请进入各模块的 &lt;code&gt;param&lt;/code&gt; 页面查看。&lt;/p&gt;&#xA;&lt;p&gt;按照当前源码与参数参考页逐项对账，10 个正式模块合计 &lt;strong&gt;373&lt;/strong&gt; 个公开参数。原生 MySQL 8.4 仍是试点模块，其 13 个公开参数单列，不计入正式模块合计。&lt;/p&gt;</description>
      </item>
    <item>
        <title>pgtde</title>
        <link>https://pgsty.pro/zh/docs/conf/pgtde/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/pgtde/</guid>
        <description>&lt;p&gt;&lt;code&gt;pgtde&lt;/code&gt; 配置模板使用 Percona PostgreSQL 数据库内核，提供透明数据加密 (Transparent Data Encryption, TDE) 能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;pgtde&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：Percona PostgreSQL 透明数据加密配置&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>剧本列表</title>
        <link>https://pgsty.pro/zh/docs/ref/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/playbook/</guid>
        <description>&lt;p&gt;本文汇总 Pigsty v4.x 各模块剧本入口与执行要点，详细任务标签请进入对应模块 &lt;code&gt;playbook&lt;/code&gt; 文档。&lt;/p&gt;&#xA;&lt;h2 id=&#34;模块剧本导航&#34;&gt;模块剧本导航&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;模块&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;数量&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;剧本&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;deploy.yml&lt;/code&gt; &lt;code&gt;infra.yml&lt;/code&gt; &lt;code&gt;infra-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt; &lt;code&gt;node-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;etcd.yml&lt;/code&gt; &lt;code&gt;etcd-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql.yml&lt;/code&gt; &lt;code&gt;pgsql-rm.yml&lt;/code&gt; &lt;br&gt; &lt;code&gt;pgsql-user.yml&lt;/code&gt; &lt;code&gt;pgsql-db.yml&lt;/code&gt; &lt;br&gt; &lt;code&gt;pgsql-monitor.yml&lt;/code&gt; &lt;code&gt;pgsql-migration.yml&lt;/code&gt; &lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;redis.yml&lt;/code&gt; &lt;code&gt;redis-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt; &lt;code&gt;minio-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/docker/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;JUICE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;juice.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;VIBE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vibe.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/playbook/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;kafka.yml&lt;/code&gt; &lt;code&gt;kafka-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;（试点）&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mysql.yml&lt;/code&gt; &lt;code&gt;mysql-rm.yml&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;剧本总表&#34;&gt;剧本总表&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;剧本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;模块&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;主要用途&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#deployyml&#34;&gt;&lt;strong&gt;&lt;code&gt;deploy.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;一次性部署核心链路（Infra/Node/Etcd/PGSQL，按配置启用 MINIO）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#infrayml&#34;&gt;&lt;strong&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;初始化基础设施节点&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#infra-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;infra-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;移除基础设施组件&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/#nodeyml&#34;&gt;&lt;strong&gt;&lt;code&gt;node.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;节点纳管与基线配置&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/#node-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;node-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;节点去纳管&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/playbook/#etcdyml&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;ETCD 安装/扩容&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/playbook/#etcd-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;ETCD 移除/缩容&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsqlyml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;初始化 PostgreSQL 集群或新增实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;移除 PostgreSQL 集群/实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-useryml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-user.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;增加业务用户&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-dbyml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-db.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;增加业务数据库&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-monitoryml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-monitor.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;纳管远程 PostgreSQL 监控&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-migrationyml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-migration.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;生成迁移手册与脚本&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-pitryml&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;时间点恢复（PITR）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/playbook/#redisyml&#34;&gt;&lt;strong&gt;&lt;code&gt;redis.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Redis 部署&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/playbook/#redis-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;redis-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Redis 移除&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/#minioyml&#34;&gt;&lt;strong&gt;&lt;code&gt;minio.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Silo 部署&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/#minio-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;minio-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;移除 Silo、配置与可选数据&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/docker/playbook/#dockeryml&#34;&gt;&lt;strong&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Docker 引擎部署&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/playbook/#juiceyml&#34;&gt;&lt;strong&gt;&lt;code&gt;juice.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;JUICE&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JuiceFS 实例部署/移除&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/playbook/#vibeyml&#34;&gt;&lt;strong&gt;&lt;code&gt;vibe.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;VIBE&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VIBE 开发环境部署&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/playbook/#kafkayml&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;创建或收敛完整的 dynamic KRaft 集群&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/playbook/#kafka-rmyml&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;移除 Kafka 集群，或安全退役单个成员&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;mysql.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;收敛原生 MySQL 8.4 单节点或三节点 InnoDB Cluster（试点）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;mysql-rm.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;停止/退役原生 MySQL 实例或集群并保留本地状态（试点）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;辅助剧本&#34;&gt;辅助剧本&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;以下剧本不归属于特定模块，提供一些辅助功能。&lt;/p&gt;</description>
      </item>
    <item>
        <title>oriole</title>
        <link>https://pgsty.pro/zh/docs/conf/oriole/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/oriole/</guid>
        <description>&lt;p&gt;&lt;code&gt;oriole&lt;/code&gt; 配置模板使用 OrioleDB 存储引擎替代 PostgreSQL 默认的 Heap 存储，提供无膨胀、高性能的 OLTP 能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;oriole&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：OrioleDB 无膨胀存储引擎配置&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 大版本：&lt;code&gt;16&lt;/code&gt;、&lt;code&gt;17&lt;/code&gt;、&lt;code&gt;18&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>端口列表</title>
        <link>https://pgsty.pro/zh/docs/ref/port/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/ref/port/</guid>
        <description>&lt;p&gt;以下为 Pigsty 中各模块组件使用的默认端口及其对应参数，您可以按需调整，或者作为内部防火墙精细配置的参考。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;模块&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;组件&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;端口&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;状态&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;node_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9100&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;node_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;haproxy&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9101&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#haproxy_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;haproxy_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;vector&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9598&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#vector_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vector_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;keepalived_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9650&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#vip_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vip_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;chronyd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;123&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/docker/&#34;&gt;&lt;strong&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;docker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9323&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/docker/param/#docker_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;docker_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;80&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#nginx_port&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;443&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#nginx_ssl_port&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx_ssl_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9113&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#nginx_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;nginx_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;grafana&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;3000&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#grafana_port&#34;&gt;&lt;strong&gt;&lt;code&gt;grafana_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;victoriaMetrics&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;8428&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#vmetrics_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vmetrics_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;victoriaLogs&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9428&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#vlogs_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vlogs_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;victoriaTraces&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;10428&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#vtraces_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vtraces_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;vmalert&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;8880&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#vmalert_port&#34;&gt;&lt;strong&gt;&lt;code&gt;vmalert_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;alertmanager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9059&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#alertmanager_port&#34;&gt;&lt;strong&gt;&lt;code&gt;alertmanager_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;blackbox_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9115&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#blackbox_port&#34;&gt;&lt;strong&gt;&lt;code&gt;blackbox_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;strong&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;dnsmasq&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;53&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#dns_port&#34;&gt;&lt;strong&gt;&lt;code&gt;dns_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;2379&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/param/#etcd_port&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;2380&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/param/#etcd_peer_port&#34;&gt;&lt;strong&gt;&lt;code&gt;etcd_peer_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Silo S3 API&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9000&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_port&#34;&gt;&lt;strong&gt;&lt;code&gt;minio_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Silo 管理端口&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9001&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_admin_port&#34;&gt;&lt;strong&gt;&lt;code&gt;minio_admin_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Redis / Valkey&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;6379&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/param/#redis_instances&#34;&gt;&lt;strong&gt;&lt;code&gt;redis_instances&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;redis_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9121&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/param/#redis_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;redis_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/&#34;&gt;&lt;strong&gt;&lt;code&gt;VIBE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;code-server&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;8443&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_port&#34;&gt;&lt;strong&gt;&lt;code&gt;code_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/&#34;&gt;&lt;strong&gt;&lt;code&gt;VIBE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;jupyterlab&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;jupyter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;broker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9092&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_port&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;🧪 BETA&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;KRaft controller&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9093&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_controller_port&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka_controller_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;🧪 BETA&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9308&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;🧪 BETA&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/&#34;&gt;&lt;strong&gt;&lt;code&gt;KAFKA&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;JMX exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9404&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_jmx_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;kafka_jmx_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;🧪 BETA&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;mysqld&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;3306&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值（当前试点不提供端口参数）&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;MySQL X Protocol&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;33060&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值；单节点仅绑定回环地址，三节点拓扑对成员地址监听&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;Group Replication&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;33061&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值；仅三节点 InnoDB Cluster&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;MySQL Router RW&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;6446&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值；仅三节点 InnoDB Cluster&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;MySQL Router RO&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;6447&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值；仅三节点 InnoDB Cluster&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/&#34;&gt;&lt;strong&gt;&lt;code&gt;MYSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;mysqld_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9104&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;固定值；受 &lt;code&gt;mysql_exporter_enabled&lt;/code&gt; 控制&lt;/td&gt;&#xA;      &lt;td&gt;🧪 PILOT&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;postgres&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;5432&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_port&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbouncer&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;6432&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbouncer_port&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbouncer_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;patroni&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;8008&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#patroni_port&#34;&gt;&lt;strong&gt;&lt;code&gt;patroni_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9630&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbouncer_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9631&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbouncer_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbouncer_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbackrest_exporter&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;9854&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbackrest_exporter_port&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbackrest_exporter_port&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;{{ pg_cluster }}-primary&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;5433&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_default_services&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_default_services&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;{{ pg_cluster }}-replica&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;5434&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_default_services&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_default_services&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;{{ pg_cluster }}-default&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;5436&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_default_services&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_default_services&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;{{ pg_cluster }}-offline&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;5438&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_default_services&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_default_services&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;✅ 默认启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;&lt;code&gt;{{ pg_cluster }}-&amp;lt;service&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;543x&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_services&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_services&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;⚠️ 按需启用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;原生 MySQL 试点的 MySQL Shell AdminAPI 复用 &lt;code&gt;3306&lt;/code&gt;，XtraBackup 由本机 Systemd 定时任务调用，没有独立监听端口；MySQL Router 的 REST 管理接口被角色显式禁用。上表只列出当前角色实际管理的网络入口。&lt;/p&gt;</description>
      </item>
    <item>
        <title>PostgreSQL Mongo 模式</title>
        <link>https://pgsty.pro/zh/docs/conf/mongo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/mongo/</guid>
        <description>&lt;p&gt;&lt;code&gt;mongo&lt;/code&gt; 配置模板是一个 &lt;strong&gt;PostgreSQL 部署模式&lt;/strong&gt;，而不是独立的 Pigsty 模块。它由以下组件组成：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;由标准 &lt;code&gt;PGSQL&lt;/code&gt; 模块管理的 PostgreSQL 18&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;documentdb&lt;/code&gt; 扩展及其预加载库&lt;/li&gt;&#xA;&lt;li&gt;通过 Pigsty Docker APP 工作流部署的无状态 FerretDB 代理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;所有数据、高可用、备份、监控与生命周期管理仍由 PostgreSQL 负责；FerretDB 只提供 MongoDB 线协议兼容端点。&lt;/p&gt;</description>
      </item>
    <item>
        <title>高可用模板</title>
        <link>https://pgsty.pro/zh/docs/conf/_div_ha/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/_div_ha/</guid>
        <description></description>
      </item>
    <item>
        <title>ha/simu</title>
        <link>https://pgsty.pro/zh/docs/conf/simu/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/simu/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/simu&lt;/code&gt; 配置模板是一个 20 节点的生产环境仿真配置，需要强大的宿主机方可运行。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;ha/simu&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 20 节点，&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/vagrant/spec/simu.rb&#34;&gt;&lt;code&gt;pigsty/vagrant/spec/simu.rb&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;配置说明：20 节点的生产环境仿真配置，需要强大的宿主机方可运行。&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/octo</title>
        <link>https://pgsty.pro/zh/docs/conf/octo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/octo/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/octo&lt;/code&gt; 使用 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/vagrant/spec/deci.rb&#34;&gt;&lt;code&gt;vagrant/spec/deci.rb&lt;/code&gt;&lt;/a&gt; 的前八个节点，构造一套紧凑的高可用仿真环境。它用于验证多模块共置、VIP、远程备份和较大成员规模，不应未经容量、安全和故障域评审直接作为生产蓝图。&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/full</title>
        <link>https://pgsty.pro/zh/docs/conf/full/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/full/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/full&lt;/code&gt; 配置模板是 Pigsty 推荐的沙箱演示环境，使用四个节点部署两套 PostgreSQL 集群，用于测试和演示 Pigsty 各方面的能力。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 大部分教程和示例都基于此模板的沙箱环境。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;ha/full&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 四节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：四节点完整功能演示环境，带有两套 PostgreSQL 集群、Silo、Redis 等组件示例&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/trio/&#34;&gt;&lt;code&gt;ha/trio&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/safe/&#34;&gt;&lt;code&gt;ha/safe&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/demo/&#34;&gt;&lt;code&gt;demo/demo&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/safe</title>
        <link>https://pgsty.pro/zh/docs/conf/safe/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/safe/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/safe&lt;/code&gt; 基于三节点高可用拓扑，示范 TLS、客户端证书、口令检查、备份加密和 CRIT 参数模板等安全配置。它是可修改的配置样例，不是合规认证模板。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;ha/safe&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：3 个 INFRA、etcd 和 PostgreSQL 节点；可选延迟副本&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;、&lt;code&gt;el9&lt;/code&gt;、&lt;code&gt;el10&lt;/code&gt;、&lt;code&gt;d12&lt;/code&gt;、&lt;code&gt;d13&lt;/code&gt;、&lt;code&gt;u22&lt;/code&gt;、&lt;code&gt;u24&lt;/code&gt;、&lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;；部分安全扩展没有 ARM64 软件包&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/trio/&#34;&gt;&lt;strong&gt;&lt;code&gt;ha/trio&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/full/&#34;&gt;&lt;strong&gt;&lt;code&gt;ha/full&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;生成配置：&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/trio</title>
        <link>https://pgsty.pro/zh/docs/conf/trio/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/trio/</guid>
        <description>&lt;p&gt;三节点是实现多数派高可用的最小规格。&lt;code&gt;ha/trio&lt;/code&gt; 将 INFRA、ETCD、PGSQL 与 Silo 分布在三台服务器上；PostgreSQL、ETCD 和对象存储都可以在一台服务器宕机时继续服务。&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/dual</title>
        <link>https://pgsty.pro/zh/docs/conf/dual/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/dual/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/dual&lt;/code&gt; 模板使用双节点部署，实现一主一备的&amp;quot;半高可用&amp;quot;架构。如果您只有两台服务器，这是一个务实的选择。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;ha/dual&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 双节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：两节点有限高可用部署，允许特定一台服务器宕机&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/trio/&#34;&gt;&lt;code&gt;ha/trio&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/slim/&#34;&gt;&lt;code&gt;slim&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>ha/citus</title>
        <link>https://pgsty.pro/zh/docs/conf/citus/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/citus/</guid>
        <description>&lt;p&gt;&lt;code&gt;ha/citus&lt;/code&gt; 配置模板部署一套完整的 &lt;strong&gt;Citus 分布式 PostgreSQL 集群&lt;/strong&gt;，包含 1 个基础设施节点、1 组协调节点和 5 组工作节点（共 12 个 Citus 节点），提供透明的水平扩展与数据分片能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;ha/citus&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 13 节点（1 基础设施 + 1 协调组 × 2 + 5 工作组 × 2）&lt;/li&gt;&#xA;&lt;li&gt;配置说明：Citus 分布式 PostgreSQL 高可用集群&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/trio/&#34;&gt;&lt;code&gt;ha/trio&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>功能模块</title>
        <link>https://pgsty.pro/zh/docs/_div_module/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/_div_module/</guid>
        <description></description>
      </item>
    <item>
        <title>其他模板</title>
        <link>https://pgsty.pro/zh/docs/conf/_div_misc/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/_div_misc/</guid>
        <description></description>
      </item>
    <item>
        <title>demo/bare</title>
        <link>https://pgsty.pro/zh/docs/conf/bare/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/bare/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/bare&lt;/code&gt; 是最小化的 Pigsty 配置示例，只保留三个核心分组和三个全局参数，用于展示一份可工作的 Inventory 骨架。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/bare&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：单节点&lt;/li&gt;&#xA;&lt;li&gt;模块：INFRA、ETCD、PGSQL&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/slim/&#34;&gt;&lt;code&gt;slim&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-c1d08825-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-c1d08825-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure -c demo/bare &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-i &amp;lt;primary_ip&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置内容&#34;&gt;配置内容&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;源文件地址：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/demo/bare.yml&#34;&gt;&lt;code&gt;pigsty/conf/demo/bare.yml&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/el</title>
        <link>https://pgsty.pro/zh/docs/conf/el/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/el/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/el&lt;/code&gt; 配置模板是针对 Enterprise Linux 系列发行版（RHEL、Rocky Linux、Alma Linux、Oracle Linux）优化的配置模板。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;demo/el&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：Enterprise Linux 专用配置模板&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el8&lt;/code&gt;, &lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/debian/&#34;&gt;&lt;code&gt;demo/debian&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置指南</title>
        <link>https://pgsty.pro/zh/docs/pgsql/_div_concept/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/_div_concept/</guid>
        <description></description>
      </item>
    <item>
        <title>demo/debian</title>
        <link>https://pgsty.pro/zh/docs/conf/debian/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/debian/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/debian&lt;/code&gt; 配置模板是针对 Debian 和 Ubuntu 发行版优化的配置模板。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;demo/debian&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 单节点&lt;/li&gt;&#xA;&lt;li&gt;配置说明：Debian/Ubuntu 专用配置模板&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;, &lt;code&gt;aarch64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;，&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/el/&#34;&gt;&lt;code&gt;demo/el&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/demo</title>
        <link>https://pgsty.pro/zh/docs/conf/demo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/demo/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/demo&lt;/code&gt; 配置模板是 Pigsty 公开演示站点使用的配置文件，展示了如何对外暴露网站、配置 SSL 证书、安装全部扩展插件。&lt;/p&gt;&#xA;&lt;p&gt;如果您希望在云服务器上搭建自己的公开服务，可以参考此配置模板。&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/kernel</title>
        <link>https://pgsty.pro/zh/docs/conf/kernel/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/kernel/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/kernel&lt;/code&gt; 配置模板用于在一套配置中演示 Pigsty 支持的主要 PostgreSQL 内核与兼容分支。它面向功能验证和内核差异测试，不是生产模板。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;demo/kernel&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：10 个节点，其中 1 个同时承载 INFRA/ETCD 与 &lt;code&gt;pg-citus&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;配置说明：PostgreSQL 内核矩阵演示，覆盖 Citus、IvorySQL、Babelfish、PolarDB、Percona TDE、OrioleDB、OpenHalo、DocumentDB、AgensGraph、pgEdge&lt;/li&gt;&#xA;&lt;li&gt;适用系统：以各内核包实际支持的平台为准&lt;/li&gt;&#xA;&lt;li&gt;适用架构：以各内核包实际支持的平台为准&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/pgsql/&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/mssql/&#34;&gt;&lt;code&gt;mssql&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/mongo/&#34;&gt;&lt;code&gt;mongo&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/minio</title>
        <link>https://pgsty.pro/zh/docs/conf/minio/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/minio/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/minio&lt;/code&gt; 配置模板演示如何部署四节点 x 四盘位、总计十六盘的高可用 S3 对象存储集群。模板沿用 MINIO 模块的兼容命名，并显式设置 &lt;code&gt;minio_type: silo&lt;/code&gt;；v4.5.0 当前源码只接受这一取值，部署与移除角色也都默认使用 &lt;code&gt;silo&lt;/code&gt;。删除前仍应把该值连同精确目标、集群身份和数据盘路径一并核对。&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/redis</title>
        <link>https://pgsty.pro/zh/docs/conf/redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/redis/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/redis&lt;/code&gt; 在一份配置中演示 Pigsty Redis 模块支持的 standalone/replica、Sentinel 与原生 Cluster 模式。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/redis&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：4 个&lt;/li&gt;&#xA;&lt;li&gt;集群：&lt;code&gt;redis-ms&lt;/code&gt;、&lt;code&gt;redis-meta&lt;/code&gt;、&lt;code&gt;redis-test&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/demo/&#34;&gt;&lt;code&gt;demo/demo&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-79f8cfea-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-79f8cfea-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure -c demo/redis -s&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置内容&#34;&gt;配置内容&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;源文件地址：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/demo/redis.yml&#34;&gt;&lt;code&gt;pigsty/conf/demo/redis.yml&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/kafka</title>
        <link>https://pgsty.pro/zh/docs/conf/kafka/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/kafka/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/kafka&lt;/code&gt; 在四个节点上声明两套 Kafka 4.x dynamic KRaft 集群：单节点明文开发集群 &lt;code&gt;kf-meta&lt;/code&gt;，以及三节点 TLS/SCRAM/ACL 演示集群 &lt;code&gt;kf-test&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/kafka&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：4 个&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;kf-meta&lt;/code&gt;：单节点 combined Broker/Controller，明文模式&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;kf-test&lt;/code&gt;：3 个 combined 节点，TLS/SCRAM/ACL，Topic 副本数 3、&lt;code&gt;min.insync.replicas=2&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;模块状态：KAFKA BETA&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-ee93df9a-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-ee93df9a-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure -c demo/kafka -s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./deploy.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./kafka.yml -l kf-meta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./kafka.yml -l kf-test&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;code&gt;deploy.yml&lt;/code&gt; 只部署核心链路，并不会自动执行 KAFKA 剧本。每次 &lt;code&gt;kafka.yml&lt;/code&gt; 运行都应选择一个完整的 Kafka 集群；角色会拒绝只选中部分成员的收敛操作。&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/mysql</title>
        <link>https://pgsty.pro/zh/docs/conf/mysql84/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/mysql84/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/mysql&lt;/code&gt; 是原生 MySQL 8.4 LTS 试点模块的四节点示例，与 &lt;a href=&#34;https://pgsty.pro/zh/docs/conf/mysql/&#34;&gt;&lt;code&gt;conf/mysql.yml&lt;/code&gt;&lt;/a&gt; 中通过 OpenHalo 提供 MySQL 协议兼容的 PostgreSQL 内核不是同一实现。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/mysql&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：4 个&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;my-meta&lt;/code&gt;：单节点 MySQL 8.4&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;my-test&lt;/code&gt;：三节点、单主模式 InnoDB Cluster，每个成员运行 MySQL Router&lt;/li&gt;&#xA;&lt;li&gt;模块状态：MYSQL PILOT，不计入正式模块数量&lt;/li&gt;&#xA;&lt;li&gt;平台边界：支持声明的 x86_64 RPM/DEB 平台及 EL9/EL10 aarch64；Oracle APT 当前没有 arm64 组件，因此 Debian/Ubuntu ARM 会被前置检查拒绝&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;模板中的所有 &lt;code&gt;CHANGE_ME&lt;/code&gt; 值必须替换，且真实部署需要明确审批。先做只读预检：&lt;/p&gt;</description>
      </item>
    <item>
        <title>build/oss</title>
        <link>https://pgsty.pro/zh/docs/conf/oss/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/oss/</guid>
        <description>&lt;p&gt;&lt;code&gt;build/oss&lt;/code&gt; 配置模板是 Pigsty 开源版离线软件包的构建环境配置，用于在多个操作系统上批量构建离线安装包。&lt;/p&gt;&#xA;&lt;p&gt;此配置仅供开发者和贡献者使用。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称： &lt;code&gt;build/oss&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量： 七节点（el9, el10, d12, d13, u22, u24, u26）&lt;/li&gt;&#xA;&lt;li&gt;配置说明：Pigsty 开源版离线软件包构建环境&lt;/li&gt;&#xA;&lt;li&gt;适用系统：&lt;code&gt;el9&lt;/code&gt;, &lt;code&gt;el10&lt;/code&gt;, &lt;code&gt;d12&lt;/code&gt;, &lt;code&gt;d13&lt;/code&gt;, &lt;code&gt;u22&lt;/code&gt;, &lt;code&gt;u24&lt;/code&gt;, &lt;code&gt;u26&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;适用架构：&lt;code&gt;x86_64&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;启用方式：&lt;/p&gt;</description>
      </item>
    <item>
        <title>build/dev</title>
        <link>https://pgsty.pro/zh/docs/conf/dev/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/dev/</guid>
        <description>&lt;p&gt;&lt;code&gt;build/dev&lt;/code&gt; 配置模板是 Pigsty 的三节点本地构建开发环境，用于在 EL9、Debian 12、Ubuntu 24 三类节点上验证仓库构建与包下载流程。&lt;/p&gt;&#xA;&lt;p&gt;此配置仅供开发者和贡献者使用。&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/remote</title>
        <link>https://pgsty.pro/zh/docs/conf/remote/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/remote/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/remote&lt;/code&gt; 不部署本地 PostgreSQL 集群，而是在 INFRA 节点上声明多个 &lt;code&gt;pg_exporters&lt;/code&gt;，用于接入远程 PostgreSQL、PolarDB 或云 RDS。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/remote&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;本地节点数量：1 个 INFRA 节点&lt;/li&gt;&#xA;&lt;li&gt;Exporter 示例端口：&lt;code&gt;20001&lt;/code&gt;～&lt;code&gt;20016&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;相关文档：&lt;a href=&#34;https://pigsty.cc/docs/pg_exporter/&#34;&gt;PG Exporter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e0d10514-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e0d10514-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure -c demo/remote &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-i &amp;lt;infra_ip&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置内容&#34;&gt;配置内容&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;源文件地址：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/demo/remote.yml&#34;&gt;&lt;code&gt;pigsty/conf/demo/remote.yml&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/saas</title>
        <link>https://pgsty.pro/zh/docs/conf/saas/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/saas/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/saas&lt;/code&gt; 是一个传统的功能丰富单节点示例，预置多组业务用户、数据库和应用入口，用于展示 PostgreSQL、Silo、Redis、Docker 与 Portal 的组合方式。&lt;/p&gt;</description>
      </item>
    <item>
        <title>demo/wool</title>
        <link>https://pgsty.pro/zh/docs/conf/wool/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/conf/wool/</guid>
        <description>&lt;p&gt;&lt;code&gt;demo/wool&lt;/code&gt; 是面向中国区低配云主机的单节点示例，默认使用 &lt;code&gt;region: china&lt;/code&gt;、PostgreSQL 18 与 &lt;code&gt;tiny&lt;/code&gt; 调优参数。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;配置名称：&lt;code&gt;demo/wool&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;节点数量：单节点&lt;/li&gt;&#xA;&lt;li&gt;建议规格：约 2C/2G 的测试主机&lt;/li&gt;&#xA;&lt;li&gt;相关配置：&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/meta/&#34;&gt;&lt;code&gt;meta&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://pgsty.pro/zh/docs/conf/slim/&#34;&gt;&lt;code&gt;slim&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-eb84a0bf-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-eb84a0bf-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure -c demo/wool &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-i &amp;lt;private_ip&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置内容&#34;&gt;配置内容&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;源文件地址：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/demo/wool.yml&#34;&gt;&lt;code&gt;pigsty/conf/demo/wool.yml&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL 集群模型</title>
        <link>https://pgsty.pro/zh/docs/concept/model/pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/model/pgsql/</guid>
        <description>&lt;p&gt;PGSQL 模块在生产环境中以 &lt;strong&gt;集群&lt;/strong&gt; 的形式组织，这些 &lt;strong&gt;集群&lt;/strong&gt; 是由一组由 &lt;strong&gt;主-备&lt;/strong&gt; 关联的数据库 &lt;strong&gt;实例&lt;/strong&gt; 组成的 &lt;strong&gt;逻辑实体&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;每个集群都是一个 &lt;strong&gt;自治&lt;/strong&gt; 的业务单元，由至少一个 &lt;strong&gt;主库实例&lt;/strong&gt; 组成，并通过服务向外暴露能力。&lt;/p&gt;</description>
      </item>
    <item>
        <title>ETCD 集群模型</title>
        <link>https://pgsty.pro/zh/docs/concept/model/etcd/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/model/etcd/</guid>
        <description>&lt;p&gt;ETCD 模块在生产环境中以 &lt;strong&gt;集群&lt;/strong&gt; 的形式组织，这些 &lt;strong&gt;集群&lt;/strong&gt; 是由一组通过 &lt;strong&gt;Raft&lt;/strong&gt; 共识协议关联的 ETCD &lt;strong&gt;实例&lt;/strong&gt; 组成的 &lt;strong&gt;逻辑实体&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;每个集群都是一个 &lt;strong&gt;自治&lt;/strong&gt; 的分布式键值存储单元，由至少一个 &lt;strong&gt;ETCD 实例&lt;/strong&gt; 组成，通过客户端端口向外暴露服务能力。&lt;/p&gt;</description>
      </item>
    <item>
        <title>MINIO 集群模型</title>
        <link>https://pgsty.pro/zh/docs/concept/model/minio/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/model/minio/</guid>
        <description>&lt;p&gt;MINIO 是 Pigsty 的对象存储兼容模块名。v4.5.0 当前源码通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_type&#34;&gt;&lt;code&gt;minio_type: silo&lt;/code&gt;&lt;/a&gt; 部署 Silo，并以 &lt;strong&gt;集群&lt;/strong&gt; 组织一组对象存储 &lt;strong&gt;实例&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;每个集群都是一个 &lt;strong&gt;自治&lt;/strong&gt; 的 S3 兼容对象存储单元，由至少一个实例组成，通过 S3 API 端口对外提供服务。&lt;/p&gt;</description>
      </item>
    <item>
        <title>REDIS 集群模型</title>
        <link>https://pgsty.pro/zh/docs/concept/model/redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/model/redis/</guid>
        <description>&lt;p&gt;Redis 模块在生产环境中以 &lt;strong&gt;集群&lt;/strong&gt; 的形式组织，这些 &lt;strong&gt;集群&lt;/strong&gt; 是由一组 Redis &lt;strong&gt;实例&lt;/strong&gt; 组成的 &lt;strong&gt;逻辑实体&lt;/strong&gt;，部署在一个或多个 &lt;strong&gt;节点&lt;/strong&gt; 上。&lt;/p&gt;&#xA;&lt;p&gt;每个集群都是一个 &lt;strong&gt;自治&lt;/strong&gt; 的高性能缓存/存储单元，由至少一个 &lt;strong&gt;Redis 实例&lt;/strong&gt; 组成，通过端口向外暴露服务能力。&lt;/p&gt;</description>
      </item>
    <item>
        <title>INFRA 集群模型</title>
        <link>https://pgsty.pro/zh/docs/concept/model/infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/model/infra/</guid>
        <description>&lt;p&gt;INFRA 模块在 Pigsty 中承担着特殊的角色：它不是传统意义上的&amp;quot;集群&amp;quot;，而是由一组 &lt;strong&gt;基础设施节点&lt;/strong&gt; 构成的管理中枢，为整个 Pigsty 部署提供核心服务。&#xA;每个 INFRA 节点都是一个 &lt;strong&gt;自治&lt;/strong&gt; 的基础设施服务单元，运行着 Nginx、Grafana、VictoriaMetrics 等核心组件，共同为纳管的数据库集群提供可观测性与管理能力。&lt;/p&gt;</description>
      </item>
    <item>
        <title>用户/角色</title>
        <link>https://pgsty.pro/zh/docs/pgsql/misc/user/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/misc/user/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在这里的上下文中，用户指的是使用 SQL 命令 &lt;code&gt;CREATE USER/ROLE&lt;/code&gt; 创建的，数据库集簇内的逻辑对象。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;在 PostgreSQL 中，用户直接隶属于数据库集簇而非某个具体的数据库。因此在创建业务数据库和业务用户时，应当遵循&amp;quot;先用户，后数据库&amp;quot;的原则。&lt;/p&gt;</description>
      </item>
    <item>
        <title>数据库</title>
        <link>https://pgsty.pro/zh/docs/pgsql/misc/db/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/misc/db/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在这里的上下文中，数据库指的是使用 SQL 命令 &lt;code&gt;CREATE DATABASE&lt;/code&gt; 创建的，数据库集簇内的逻辑对象。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;一组 PostgreSQL 服务器可以同时服务于多个 &lt;strong&gt;数据库&lt;/strong&gt; （Database）。在 Pigsty 中，你可以在集群配置中 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/misc/db/#%e5%ae%9a%e4%b9%89%e6%95%b0%e6%8d%ae%e5%ba%93&#34;&gt;定义&lt;/a&gt; 好所需的数据库。&lt;/p&gt;</description>
      </item>
    <item>
        <title>服务/接入</title>
        <link>https://pgsty.pro/zh/docs/pgsql/misc/svc/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/misc/svc/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;分离读写操作，正确路由流量，稳定可靠地交付 PostgreSQL 集群提供的能力。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/misc/svc/#%e6%9c%8d%e5%8a%a1%e6%a6%82%e8%bf%b0&#34;&gt;服务&lt;/a&gt; 是一种抽象：它是数据库集群对外提供能力的形式，并封装了底层集群的细节。&lt;/p&gt;&#xA;&lt;p&gt;服务对于生产环境中的 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/misc/svc/#%e6%8e%a5%e5%85%a5%e6%9c%8d%e5%8a%a1&#34;&gt;稳定接入&lt;/a&gt; 至关重要，在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/&#34;&gt;高可用&lt;/a&gt; 集群自动故障时方显其价值，&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/misc/svc/#%e5%8d%95%e6%9c%ba%e7%94%a8%e6%88%b7&#34;&gt;单机用户&lt;/a&gt; 通常不需要操心这个概念。&lt;/p&gt;</description>
      </item>
    <item>
        <title>认证 / HBA</title>
        <link>https://pgsty.pro/zh/docs/pgsql/misc/hba/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/misc/hba/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty 中基于主机的身份认证 HBA（Host-Based Authentication）详解。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;认证是 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;访问控制&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/#%e9%bb%98%e8%ae%a4%e6%9d%83%e9%99%90&#34;&gt;默认权限&lt;/a&gt; 的基础，PostgreSQL 支持多种 &lt;a href=&#34;https://www.postgresql.org/docs/current/client-authentication.html&#34;&gt;认证&lt;/a&gt; 方法。&lt;/p&gt;&#xA;&lt;p&gt;这里主要介绍 HBA：Host Based Authentication，HBA 规则定义了哪些用户能够通过哪些方式从哪些地方访问哪些数据库。&lt;/p&gt;</description>
      </item>
    <item>
        <title>访问控制</title>
        <link>https://pgsty.pro/zh/docs/pgsql/misc/acl/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/misc/acl/</guid>
        <description>&lt;p&gt;Pigsty 的访问控制文档已按用途拆分：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;&lt;strong&gt;访问控制概念&lt;/strong&gt;&lt;/a&gt;：角色模型、默认权限、数据库 ACL 和实例隔离边界。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/acl/&#34;&gt;&lt;strong&gt;访问控制配置&lt;/strong&gt;&lt;/a&gt;：&lt;code&gt;pg_default_roles&lt;/code&gt;、&lt;code&gt;pg_users&lt;/code&gt;、&lt;code&gt;pg_default_privileges&lt;/code&gt; 等参数。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/auth/&#34;&gt;&lt;strong&gt;身份认证&lt;/strong&gt;&lt;/a&gt;：HBA、SCRAM、证书认证与凭据管理。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/config/hba/&#34;&gt;&lt;strong&gt;HBA 配置&lt;/strong&gt;&lt;/a&gt;：PostgreSQL 与 PgBouncer 规则语法。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/admin/user/&#34;&gt;&lt;strong&gt;用户管理&lt;/strong&gt;&lt;/a&gt;：在现有集群中创建、更新和删除用户。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;dbrole_offline&lt;/code&gt; 只提供独立的只读对象权限，不会自动限制实例范围。若要仅允许其访问离线实例，应为对应 HBA 规则显式设置 &lt;code&gt;role: offline&lt;/code&gt;，并验证在线与离线实例生成的 &lt;code&gt;pg_hba.conf&lt;/code&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理任务</title>
        <link>https://pgsty.pro/zh/docs/pgsql/_div_admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/_div_admin/</guid>
        <description>&lt;p&gt;数据库管理与运维任务&lt;/p&gt;</description>
      </item>
    <item>
        <title>故障排查</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/failure/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/failure/</guid>
        <description>&lt;p&gt;本文档列举了 PostgreSQL 和 Pigsty 中可能出现的故障，以及定位、处理、分析问题的 SOP。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;磁盘空间写满&#34;&gt;磁盘空间写满&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;磁盘空间写满是最常见的故障类型。&lt;/p&gt;&#xA;&lt;h3 id=&#34;现象&#34;&gt;现象&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;当数据库所在磁盘空间耗尽时，PostgreSQL 将无法正常工作，可能出现以下现象：数据库日志反复报错&amp;quot;no space left on device&amp;quot;（磁盘空间不足），&#xA;新数据无法写入，甚至 PostgreSQL 可能触发 PANIC 强制关闭。&lt;/p&gt;</description>
      </item>
    <item>
        <title>误删处理</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/drop/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/drop/</guid>
        <description>&lt;h2 id=&#34;误删数据&#34;&gt;误删数据&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;如果是小批量 &lt;code&gt;DELETE&lt;/code&gt; 误操作，可以考虑使用 &lt;a href=&#34;https://pigsty.cc/ext/e/pg_surgery&#34;&gt;&lt;code&gt;pg_surgery&lt;/code&gt;&lt;/a&gt; 或者 &lt;a href=&#34;https://pigsty.cc/ext/e/pg_dirtyread&#34;&gt;&lt;code&gt;pg_dirtyread&lt;/code&gt;&lt;/a&gt; 扩展进行原地手术恢复。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-41a0051e-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;sql&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-41a0051e-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- 立即关闭此表上的 Auto Vacuum 并中止 Auto Vacuum 本表的 worker 进程&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;ALTER&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;public&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;some_table&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;autovacuum_enabled&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;off&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;toast&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;autovacuum_enabled&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;off&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;EXTENSION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pg_dirtyread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pg_dirtyread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;tablename&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;type1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;col2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;type2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;...);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;如果被删除的数据已经被 VACUUM 回收，那么使用通用的误删处理流程。&lt;/p&gt;</description>
      </item>
    <item>
        <title>备份机制</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/mechanism/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/mechanism/</guid>
        <description>&lt;p&gt;Pigsty 的备份恢复功能，最终都会落实为 &lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/&#34;&gt;&lt;strong&gt;pgBackRest&lt;/strong&gt;&lt;/a&gt; 命令的执行。&#xA;所以要真正掌握这套系统，需要理解两件事：&lt;strong&gt;pgBackRest 本身的概念体系&lt;/strong&gt;（stanza、仓库、备份链、保留、时间线），&#xA;以及 &lt;strong&gt;Pigsty 各层封装如何映射到它&lt;/strong&gt;（参数如何变成命令行选项）。本页依次讲清这两部分。&lt;/p&gt;</description>
      </item>
    <item>
        <title>备份策略</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/policy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/policy/</guid>
        <description>&lt;p&gt;备份策略要回答三个问题：&lt;strong&gt;何时&lt;/strong&gt; 备份（调度计划）、&lt;strong&gt;何处&lt;/strong&gt; 存放（&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/repository/&#34;&gt;&lt;strong&gt;备份仓库&lt;/strong&gt;&lt;/a&gt;）、&#xA;&lt;strong&gt;保留多久&lt;/strong&gt;（保留策略）。本页给出两套久经考验的预设策略及其量化推演 ——&#xA;背后的权衡逻辑请参阅概念层文档 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/pitr/tradeoff/&#34;&gt;&lt;strong&gt;策略权衡&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>备份仓库</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/repository/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/repository/</guid>
        <description>&lt;p&gt;备份存储在哪里，由两个参数决定：&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbackrest_repo&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbackrest_repo&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 定义所有候选仓库，&#xA;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbackrest_method&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbackrest_method&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 选择实际使用哪一个。&#xA;仓库定义中的键值会 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/mechanism/#%e9%85%8d%e7%bd%ae%e5%a6%82%e4%bd%95%e6%b8%b2%e6%9f%93&#34;&gt;&lt;strong&gt;按固定规则&lt;/strong&gt;&lt;/a&gt; 渲染为 pgbackrest 的 &lt;code&gt;repo1-*&lt;/code&gt; 配置项，&#xA;因此 &lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/configuration&#34;&gt;&lt;strong&gt;pgBackRest 支持的任何仓库选项&lt;/strong&gt;&lt;/a&gt; 都可以直接写入。&#xA;v4.5.0 每次只把 &lt;code&gt;pgbackrest_method&lt;/code&gt; 选中的一个字典项渲染为 &lt;code&gt;repo1&lt;/code&gt;；候选项同时存在并不等于多仓备份。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理命令</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/admin/</guid>
        <description>&lt;p&gt;备份管理命令应以数据库超级用户（&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_dbsu&#34;&gt;&lt;strong&gt;&lt;code&gt;pg_dbsu&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;，默认 &lt;code&gt;postgres&lt;/code&gt;）身份在数据库节点上执行。&#xA;您可以按习惯选择三种等价的入口：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;pig pb&lt;/code&gt;&lt;/strong&gt;：&lt;a href=&#34;https://pigsty.cc/docs/pig/pb&#34;&gt;&lt;strong&gt;pig 命令行工具&lt;/strong&gt;&lt;/a&gt; 的封装 —— 自动检测 stanza、自动切换 DBSU 身份、带安全检查，&lt;strong&gt;推荐使用&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;pb&lt;/code&gt;&lt;/strong&gt;：登录 shell 的别名函数，自动填充 &lt;code&gt;--stanza&lt;/code&gt; 后转发给 pgbackrest&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;pgbackrest&lt;/code&gt;&lt;/strong&gt;：原生命令，完整选项参阅 &lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/&#34;&gt;&lt;strong&gt;pgBackRest 命令参考&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;命令一览&#34;&gt;命令一览&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;pig 命令&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;别名&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;对应 pgbackrest 命令&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb info&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/info&#34;&gt;&lt;strong&gt;&lt;code&gt;info&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;查看备份与归档状态&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;—&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;列出仓库中的 stanza 与备份&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb backup [full/diff/incr]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/backup&#34;&gt;&lt;strong&gt;&lt;code&gt;backup&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;执行备份（自动检查主库角色）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb restore&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/restore&#34;&gt;&lt;strong&gt;&lt;code&gt;restore&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;恢复（显示计划并确认，详见 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/#%e5%8e%9f%e8%af%adpig-pb-restore&#34;&gt;&lt;strong&gt;恢复操作&lt;/strong&gt;&lt;/a&gt;）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb expire&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/expire&#34;&gt;&lt;strong&gt;&lt;code&gt;expire&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;按保留策略清理过期备份（&lt;code&gt;--plan&lt;/code&gt; 预览）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb create&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/stanza-create&#34;&gt;&lt;strong&gt;&lt;code&gt;stanza-create&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;创建 stanza&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb upgrade&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/stanza-upgrade&#34;&gt;&lt;strong&gt;&lt;code&gt;stanza-upgrade&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级 stanza（版本升级或克隆善后）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb delete&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/stanza-delete&#34;&gt;&lt;strong&gt;&lt;code&gt;stanza-delete&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;删除 stanza 及其全部备份&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb check&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ck&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/check&#34;&gt;&lt;strong&gt;&lt;code&gt;check&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;校验备份配置与归档链路&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb start&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;up&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/start&#34;&gt;&lt;strong&gt;&lt;code&gt;start&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;恢复 pgbackrest 操作&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb stop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;dw&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pigsty.cc/docs/pgbackrest/command/stop&#34;&gt;&lt;strong&gt;&lt;code&gt;stop&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;暂停 pgbackrest 操作&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig pb log [list/show/tail]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;—&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;查看 pgbackrest 日志&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;启用备份&#34;&gt;启用备份&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;如果集群创建时 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pgbackrest_enabled&#34;&gt;&lt;strong&gt;&lt;code&gt;pgbackrest_enabled&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 为 &lt;code&gt;true&lt;/code&gt;（默认），备份已自动启用。&#xA;若创建时禁用了备份，或修改了仓库配置，可用 &lt;code&gt;pg_backup&lt;/code&gt; 子任务补充配置：&lt;/p&gt;</description>
      </item>
    <item>
        <title>恢复操作</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/restore/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/restore/</guid>
        <description>&lt;p&gt;Pigsty 提供三个层次的恢复入口，共用 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/mechanism/#%e5%8f%82%e6%95%b0%e5%a6%82%e4%bd%95%e6%98%a0%e5%b0%84&#34;&gt;&lt;strong&gt;同一套参数语义&lt;/strong&gt;&lt;/a&gt;，按场景选用：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;入口&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;适用场景&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;特点&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/#%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b&#34;&gt;&lt;strong&gt;&lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 剧本&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;生产集群恢复&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;编排整个集群：HA 暂停、多节点、etcd 清理、恢复控制信息输出&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/#%e5%8d%95%e5%ae%9e%e4%be%8bpig-pitr&#34;&gt;&lt;strong&gt;&lt;code&gt;pig pitr&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 命令&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;单节点集群 / 节点本机操作&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;无需管理节点，在数据库节点上直接编排执行&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/#%e5%8e%9f%e8%af%adpig-pb-restore&#34;&gt;&lt;strong&gt;&lt;code&gt;pig pb restore&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 原语&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;非 Patroni 托管的实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgbackrest restore 的直接封装，最精细的控制&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;手把手的沙箱演练教程请参阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/tutorial/pitr/&#34;&gt;&lt;strong&gt;手工恢复&lt;/strong&gt;&lt;/a&gt;；&#xA;用恢复克隆出新集群（不影响生产的推荐姿势）请参阅 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/cluster/&#34;&gt;&lt;strong&gt;克隆数据库集群&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>克隆数据库集群</title>
        <link>https://pgsty.pro/zh/docs/pgsql/backup/cluster/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/backup/cluster/</guid>
        <description>&lt;p&gt;克隆是恢复能力最有价值的用法：&lt;strong&gt;不动生产集群&lt;/strong&gt;，把它的历史状态恢复到另一套集群上。&#xA;误删数据后从克隆库中导回、定期演练验证备份可用性、审计取证查看历史状态、把测试环境重置为生产某刻的快照 ——&#xA;这些场景的操作方式完全相同，本页给出完整流程。&lt;/p&gt;</description>
      </item>
    <item>
        <title>手工 PITR 演练</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/pitr/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/pitr/</guid>
        <description>&lt;p&gt;本教程在 Pigsty v4.5.0 的四节点沙箱中演练 PostgreSQL 时间点恢复。核心路径使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/&#34;&gt;&lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/a&gt; 的 &lt;code&gt;down → pitr → up&lt;/code&gt; 三阶段，让操作者在覆盖数据、提升时间线和重建 HA 之前分别停下来验证。&lt;/p&gt;&#xA;&lt;p&gt;如果只恢复当前节点，可使用 &lt;a href=&#34;https://pigsty.cc/docs/pig/pitr/&#34;&gt;&lt;code&gt;pig pitr&lt;/code&gt;&lt;/a&gt;；如果需要直接控制 pgBackRest，可参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/tutorial/pg-fork/#pg-pitr&#34;&gt;&lt;code&gt;pg-pitr&lt;/code&gt; 低层工具&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>克隆与旁路恢复 PostgreSQL 实例</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/pg-fork/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/pg-fork/</guid>
        <description>&lt;p&gt;Pigsty v4.5.0 提供两个本机 Shell 工具：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/tutorial/pg-fork/#pg-fork&#34;&gt;&lt;code&gt;pg-fork&lt;/code&gt;&lt;/a&gt;：复制一个 PostgreSQL 数据目录，并为副本设置独立端口。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/tutorial/pg-fork/#pg-pitr&#34;&gt;&lt;code&gt;pg-pitr&lt;/code&gt;&lt;/a&gt;：调用 pgBackRest，将一个 &lt;strong&gt;已停止&lt;/strong&gt; 的数据目录恢复到指定目标。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;它们适合沙箱演练、旁路取证和临时测试，不是完整的 Patroni 集群恢复编排器。托管实例优先使用 &lt;a href=&#34;https://pigsty.cc/docs/pig/pitr/&#34;&gt;&lt;code&gt;pig pitr&lt;/code&gt;&lt;/a&gt;；多节点集群优先使用分阶段的 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/backup/restore/&#34;&gt;&lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>为 PostgreSQL 集群启用 HugePage</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/hugepage/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/hugepage/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;node_hugepage_count&lt;/code&gt; 和 &lt;code&gt;node_hugepage_ratio&lt;/code&gt; 或 &lt;code&gt;/pg/bin/pg-tune-hugepage&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;如果你计划启用大页（HugePage），请考虑使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_hugepage_count&#34;&gt;&lt;code&gt;node_hugepage_count&lt;/code&gt;&lt;/a&gt; 和 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_hugepage_ratio&#34;&gt;&lt;code&gt;node_hugepage_ratio&lt;/code&gt;&lt;/a&gt;，并配合 &lt;code&gt;./node.yml -t node_tune&lt;/code&gt; 进行应用。&lt;/p&gt;&#xA;&lt;p&gt;大页对于数据库来说有利有弊，利是内存是专门管理的，不用担心被挪用，降低数据库 OOM 风险。缺点是某些场景下可能对性能由负面影响。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参考资料</title>
        <link>https://pgsty.pro/zh/docs/pgsql/_div_reference/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/_div_reference/</guid>
        <description>&lt;p&gt;参数配置与参考文档&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/pgsql/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/metric/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;strong&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块包含有 638 类可用监控指标。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Metric Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Labels&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;category&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;alertstate&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS_FOR_STATE&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;category&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;cls:pressure1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;cls:pressure15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;cls:pressure5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A summary of the pause duration of garbage collection cycles.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_goroutines&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of goroutines that currently exist.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;version&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Go environment.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes allocated, even if freed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_buck_hash_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used by the profiling bucket hash table.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_frees_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of frees.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_gc_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for garbage collection system metadata.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_idle_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes waiting to be used.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes that are in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_objects&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of allocated objects.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_released_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes released to OS.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_last_gc_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds since 1970 of last garbage collection.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of pointer lookups.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mallocs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of mallocs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mcache structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mcache structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mspan structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mspan structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_next_gc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes when next garbage collection will take place.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_other_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for other system allocations.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by the stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system for stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of OS threads created.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ins:pressure1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ins:pressure15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ins:pressure5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_cluster_unlocked&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if the cluster is unlocked, 0 if locked.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_dcs_last_seen&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Epoch timestamp when DCS was last contacted successfully by Patroni.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_failsafe_mode_is_active&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if failsafe mode is active, 0 if inactive.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_is_paused&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if auto failover is disabled, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_master&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if this node is the leader, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_pending_restart&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if the node needs a restart, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postgres_in_archive_recovery&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if Postgres is replicating from archive, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postgres_running&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if Postgres is running, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postgres_server_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Version of Postgres (if running), 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postgres_streaming&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if Postgres is streaming, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postgres_timeline&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Postgres timeline of this node (if running), 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_postmaster_start_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Epoch seconds since Postgres started.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_primary&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if this node is the leader, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_replica&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if this node is a replica, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_standby_leader&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if this node is the standby_leader, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_sync_standby&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if this node is a sync standby replica, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Patroni semver without periods.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_xlog_location&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current location of the Postgres transaction log, 0 if this node is not the leader.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_xlog_paused&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if the Postgres xlog is paused, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_xlog_received_location&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current location of the received Postgres transaction log, 0 if this node is not a replica.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_xlog_replayed_location&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current location of the replayed Postgres transaction log, 0 if this node is not a replica.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;patroni_xlog_replayed_timestamp&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current timestamp of the replayed Postgres transaction log, 0 if null.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:active_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:active_time_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:active_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:active_time_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:age&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:buf_alloc_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:buf_clean_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:buf_flush_backend_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:buf_flush_checkpoint_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:db_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:file_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:ixact_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:ixact_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:lag_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:lag_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:leader&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:load1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:load15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:load5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:lock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:locks&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:log_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:lsn_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:members&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:num_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:partition&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:receiver&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:rlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:saturation1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:saturation15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:saturation5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:sender&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:session_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:slot_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:slot_retained_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:standby_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:sync_state&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:timeline&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:tup_deleted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:tup_fetched_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:tup_inserted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:tup_modified_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:tup_returned_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:wal_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_commit_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_commit_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_commit_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_rollback_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_rollback_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_rollback_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_total_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_total_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xact_total_sigma15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:cls:xlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:active_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:active_time_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:active_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:active_time_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:age&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:age_deriv1h&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:age_exhaust&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blk_io_time_seconds_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blk_read_time_seconds_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blk_write_time_seconds_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blks_access_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blks_hit_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blks_hit_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:blks_read_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:conn_limit&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:conn_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:db_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:ixact_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:ixact_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:lock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:num_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:rlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:session_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:temp_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:temp_files_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:tup_deleted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:tup_fetched_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:tup_inserted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:tup_modified_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:tup_returned_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:wlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_commit_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_commit_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_commit_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_rollback_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_rollback_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_rollback_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_total_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_total_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_total_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xact_total_sigma15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:db:xlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:active_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:active_time_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:active_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:active_time_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:age&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:ixact_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:ixact_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:lag_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:lag_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:lsn_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:session_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:tup_deleted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:tup_fetched_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:tup_inserted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:tup_modified_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:tup_returned_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_commit_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_commit_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_commit_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_rollback_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_rollback_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_rollback_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_total_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_total_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:env:xact_total_sigma15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:active_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:active_time_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:active_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:active_time_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:age&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:blks_hit_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:buf_alloc_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:buf_clean_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:buf_flush_backend_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:buf_flush_checkpoint_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:ckpt_1h&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:ckpt_req_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:ckpt_timed_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:conn_limit&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:conn_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:db_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:file_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:fs_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:is_leader&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:ixact_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:ixact_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:lag_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:lag_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:load1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:load15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:load5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:lock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:locks&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:log_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:lsn_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:mem_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:num_backends&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:rlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:saturation1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:saturation15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:saturation5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:session_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:slot_retained_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:space_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:status&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:sync_state&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:target_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:timeline&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:tup_deleted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:tup_fetched_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:tup_inserted_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:tup_modified_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:tup_returned_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:wal_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:wlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_commit_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_commit_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_commit_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_rollback_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_rollback_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_rollback_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_total_rate15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_total_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_total_rate5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xact_total_sigma15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:ins:xlock_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:query:call_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:query:rt_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg:table:scan_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_activity_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Count of connection among (datname,state)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_activity_max_conn_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Max backend session duration since state change among (datname, state)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_activity_max_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Max duration since last state change among (datname, state)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_activity_max_tx_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Max transaction duration since state change among (datname, state)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_archiver_failed_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of failed attempts for archiving WAL files&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_archiver_finish_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of WAL files that have been successfully archived&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_archiver_last_failed_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time of the last failed archival operation&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_archiver_last_finish_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time of the last successful archive operation&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_archiver_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which archive statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_backend_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Database backend process count by backend_type&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_buffers_alloc&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffers allocated&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_buffers_backend&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffers written directly by a backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_buffers_backend_fsync&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times a backend had to execute its own fsync call&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_buffers_checkpoint&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffers written during checkpoints&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_buffers_clean&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffers written by the background writer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_checkpoint_sync_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_checkpoint_write_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_checkpoints_req&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of requested checkpoints that have been performed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_checkpoints_timed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of scheduled checkpoints that have been performed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_maxwritten_clean&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times the background writer stopped a cleaning scan because it had written too many buffers&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_bgwriter_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which bgwriter statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_boot_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;unix timestamp when postmaster boot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_checkpoint_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_elapse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Seconds elapsed since latest checkpoint in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_full_page_writes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s full_page_writes enabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_newest_commit_ts_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s newestCommitTsXid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_next_multi_offset&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s NextMultiOffset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_next_multixact_id&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s NextMultiXactId&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_next_oid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s NextOID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_next_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s NextXID xid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_next_xid_epoch&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s NextXID epoch&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_active_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestActiveXID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_commit_ts_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestCommitTsXid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_multi_dbid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestMulti&amp;rsquo;s DB OID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_multi_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestMultiXid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_xid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestXID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_oldest_xid_dbid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s oldestXID&amp;rsquo;s DB OID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_prev_tli&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s PrevTimeLineID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_redo_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s REDO location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time of latest checkpoint&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_checkpoint_tli&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Latest checkpoint&amp;rsquo;s TimeLineID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_conf_reload_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds since last configuration reload&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_active_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent executing SQL statements in this database, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_age&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Age of database calculated from datfrozenxid&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_allow_conn&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;If false(0) then no one can connect to this database.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_blk_read_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent reading data file blocks by backends in this database, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_blk_write_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent writing data file blocks by backends in this database, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_blks_access&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times disk blocks that accessed read+hit&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times disk blocks were found already in the buffer cache&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_cks_fail_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which the last data page checksum failure was detected in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_cks_fails&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of data page checksum failures detected in this database, -1 for not enabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_confl_confl_bufferpin&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries in this database that have been canceled due to pinned buffers&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_confl_confl_deadlock&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries in this database that have been canceled due to deadlocks&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_confl_confl_lock&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries in this database that have been canceled due to lock timeouts&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_confl_confl_snapshot&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries in this database that have been canceled due to old snapshots&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_confl_confl_tablespace&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries in this database that have been canceled due to dropped tablespaces&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_conflicts&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of queries canceled due to conflicts with recovery in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_conn_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_datid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;OID of the database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_deadlocks&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of deadlocks detected in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_frozen_xid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;All transaction IDs before this one have been frozened&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_is_template&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;If true(1), then this database can be cloned by any user with CREATEDB privileges&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_ixact_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent idling while in a transaction in this database, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_numbackends&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of backends currently connected to this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which database statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_session_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent by database sessions in this database, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_sessions&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of sessions established to this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_sessions_abandoned&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of database sessions to this database that were terminated because connection to the client was lost&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_sessions_fatal&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of database sessions to this database that were terminated by fatal errors&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_sessions_killed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of database sessions to this database that were terminated by operator intervention&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_temp_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of data written to temporary files by queries in this database.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_temp_files&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of temporary files created by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_deleted&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows deleted by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_fetched&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows fetched by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_inserted&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows inserted by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_modified&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows modified by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_returned&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows returned by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_tup_updated&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows updated by queries in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_xact_commit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of transactions in this database that have been committed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_xact_rollback&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of transactions in this database that have been rolled back&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_db_xact_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of transactions in this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_downstream_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Count of corresponding state&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_agent_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_last_scrape_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_cache_ttl&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times to live of query cache&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds query spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_scrape_error_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times the query failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_scrape_hit_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;numbers been scrapped from this query&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_scrape_metric_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;numbers of metrics been scrapped from this query&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_query_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter server was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_scrape_error_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter was scraped for metrics and failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_server_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter server spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_server_scrape_error_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_server_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter server was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_server_scrape_total_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter server spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;always be 1 if your could retrieve metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_exporter_uptime&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds since exporter primary server inited&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_flush_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;primary only, location of current wal syncing&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_func_calls&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;funcname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times this function has been called&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_func_self_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;funcname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time spent in this function itself, not including other functions called by it, in ms&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_func_total_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;funcname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time spent in this function and all other functions called by it, in ms&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_in_recovery&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;server is in recovery mode? 1 for yes 0 for no&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_idx_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffer hits in this index&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_idx_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read from this index&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_idx_scan&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of index scans initiated on this index&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_idx_tup_fetch&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of live table rows fetched by simple index scans using this index&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_idx_tup_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of index entries returned by scans on this index&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_relpages&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Size of the on-disk representation of this index in pages&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_index_reltuples&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;relid&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;idxname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimate relation tuples&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_insert_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;primary only, location of current wal inserting&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_evictions&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times a block has been written out from a shared or local buffer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_extend_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent in extend operations in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_extends&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of relation extend operations, each of the size specified in op_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_fsync_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent in fsync operations in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_fsyncs&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of fsync calls. These are only tracked in context normal&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_hits&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of times a desired block was found in a shared buffer.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_op_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of bytes per unit of I/O read, written, or extended. 8192 by default&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_read_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent in read operations in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_reads&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of read operations, each of the size specified in op_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Timestamp at which these statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_reuses&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of times an existing buffer in reused&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_write_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent in write operations in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_writeback_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent in writeback operations in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_writebacks&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of units of size op_bytes which the process requested the kernel write out to permanent storage.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_io_writes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;object&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of write operations, each of the size specified in op_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_is_in_recovery&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if in recovery mode&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_is_wal_replay_paused&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if wal play paused&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_lag&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica only, replication lag in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_last_replay_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;time when last transaction been replayed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_lock_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of locks of corresponding mode and database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;log sequence number, current write location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_meta_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;extensions&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;primary_conninfo&lt;/code&gt;, &lt;code&gt;conf_path&lt;/code&gt;, &lt;code&gt;hba_path&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cluster_id&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;listen_port&lt;/code&gt;, &lt;code&gt;wal_level&lt;/code&gt;, &lt;code&gt;ver_num&lt;/code&gt;, &lt;code&gt;cluster_name&lt;/code&gt;, &lt;code&gt;data_dir&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;constant 1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_calls&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times the statement was executed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_exec_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time spent executing the statement, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_io_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time the statement spent reading and writing blocks, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_rows&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of rows retrieved or affected by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_sblk_dirtied&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of shared blocks dirtied by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_sblk_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of shared block cache hits by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_sblk_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of shared blocks read by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_sblk_written&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of shared blocks written by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_query_wal_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of WAL bytes generated by the statement&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_receive_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica only, location of wal synced to disk&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_backup_end_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Backup end location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_backup_start_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Backup start location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_min_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Minimum recovery ending location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_min_timeline&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Min recovery ending loc&amp;rsquo;s timeline&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_block_distance&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How many blocks ahead the prefetcher is looking&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks not prefetched because they were already in the buffer pool&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_io_depth&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How many prefetches have been initiated but are not yet known to have completed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_prefetch&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks prefetched because they were not in the buffer pool&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which these recovery prefetch statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_skip_fpw&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks not prefetched because a full page image was included in the WAL&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_skip_init&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks not prefetched because they would be zero-initialized&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_skip_new&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks not prefetched because they didn&amp;rsquo;t exist yet&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_skip_rep&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks not prefetched because they were already recently prefetched&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_prefetch_wal_distance&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How many bytes ahead the prefetcher is looking&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recovery_require_record&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;End-of-backup record required&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_flush_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location already received and flushed to disk&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_flush_tli&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Timeline number of last write-ahead log location received and flushed to disk&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_init_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;First write-ahead log location used when WAL receiver is started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_init_tli&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;First timeline number used when WAL receiver is started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_msg_recv_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Receipt time of last message received from origin WAL sender&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_msg_send_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Send time of last message received from origin WAL sender&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_pid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Process ID of the WAL receiver process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_reported_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location reported to origin WAL sender&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_reported_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time of last write-ahead log location reported to origin WAL sender&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time of current snapshot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_recv_write_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;sender_host&lt;/code&gt;, &lt;code&gt;sender_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location already received and written to disk, but not flushed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_relkind_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;relkind&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of relations of corresponding relkind&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_backend_xmin&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;This standby&amp;rsquo;s xmin horizon reported by hot_standby_feedback.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_client_port&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_flush_diff&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last log position flushed to disk by this standby server diff with current lsn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_flush_lag&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_flush_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location flushed to disk by this standby server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_launch_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time when this process was started, i.e., when the client connected to this WAL sender&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current log position on this server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_replay_diff&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last log position replayed into the database on this standby server diff with current lsn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_replay_lag&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_replay_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location replayed into the database on this standby server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_reply_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Send time of last reply message received from standby server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_sent_diff&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last log position sent to this standby server diff with current lsn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_sent_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location sent on this connection&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current WAL sender encoded state 0-4 for streaming startup catchup backup stopping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_sync_priority&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Priority of this standby server for being chosen as the synchronous standby&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_sync_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Encoded synchronous state of this standby server, 0-3 for async potential sync quorum&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current timestamp in unix epoch&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_write_diff&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last log position written to disk by this standby server diff with current lsn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_write_lag&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_repl_write_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;usename&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;appname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last write-ahead log location written to disk by this standby server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_replay_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica only, location of wal applied&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_seq_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;seqname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffer hits in this sequence&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_seq_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;seqname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read from this sequence&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_seq_last_value&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;seqname&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The last sequence value written to disk&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_block_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;pg page block size, 8192 by default&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_data_checksums&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;whether data checksum is enabled, 1 enabled 0 disabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;number of concurrent connections to the database server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_locks_per_transaction&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;no more than this many distinct objects can be locked at any one time&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_prepared_transactions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;maximum number of transactions that can be in the prepared state simultaneously&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_replication_slots&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;maximum number of replication slots&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_wal_senders&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;maximum number of concurrent connections from standby servers&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_max_worker_processes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;maximum number of background processes that the system can support&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_setting_wal_log_hints&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;whether wal_log_hints is enabled, 1 enabled 0 disabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;File size in bytes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_active&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;True(1) if this slot is currently actively being used&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_catalog_xmin&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The oldest transaction affecting the system catalogs that this slot needs the database to retain.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_confirm_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The address (LSN) up to which the logical slot&amp;rsquo;s consumer has confirmed receiving data.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;When statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_restart_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The address (LSN) of oldest WAL which still might be required by the consumer of this slot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_retained_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Size of bytes that retained for this slot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_safe_wal_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bytes that can be written to WAL which will not make slot into lost&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_spill_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bytes that spilled to disk due to logical decode mem exceeding&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_spill_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Xacts that spilled to disk due to logical decode mem exceeding (a xact can be spilled multiple times)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_spill_txns&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Xacts that spilled to disk due to logical decode mem exceeding (subtrans included)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_stream_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bytes that streamed to decoding output plugin after mem exceed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_stream_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Xacts that streamed to decoding output plugin after mem exceed  (a xact can be streamed multiple times)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_stream_txns&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Xacts that streamed to decoding output plugin after mem exceed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_temporary&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;True(1) if this is a temporary replication slot.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_total_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of decoded bytes sent to the decoding output plugin for this slot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_total_txns&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of decoded xacts sent to the decoding output plugin for this slot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_wal_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;WAL reserve status 0-3 means reserved,extended,unreserved,lost, -1 means other&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slot_xmin&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;slot_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The oldest transaction that this slot needs the database to retain.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_blks_exists&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks checked for existence for this SLRU&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times disk blocks were found already in the SLRU, so that a read was not necessary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read for this SLRU&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_blks_written&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks written for this SLRU&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_blks_zeroed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of blocks zeroed during initializations&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_flushes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of flushes of dirty data for this SLRU&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time at which these statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_slru_truncates&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of truncates for this SLRU&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_ssl_disabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of client connection that does not use ssl&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_ssl_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of client connection that use ssl&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_sync_standby_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;names&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Synchronous commit enabled, 1 if enabled, 0 if disabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_age&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Age of this table in vacuum cycles&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_analyze_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times this table has been manually analyzed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_autoanalyze_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times this table has been analyzed by the autovacuum daemon&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_autovacuum_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times this table has been vacuumed by the autovacuum daemon&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_frozenxid&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;All txid before this have been frozen on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_heap_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffer hits in this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_heap_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read from this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_idx_blks_hit&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of buffer hits in all indexes on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_idx_blks_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of disk blocks read from all indexes on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_idx_scan&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of index scans initiated on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_idx_tup_fetch&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of live rows fetched by index scans&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_kind&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Relation kind r/table/114&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_dead_tup&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated number of dead rows&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_ins_since_vacuum&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated number of rows inserted since this table was last vacuumed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_live_tup&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated number of live rows&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_mod_since_analyze&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated number of rows modified since this table was last analyzed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_del&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows deleted&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_hot_upd&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows HOT updated (i.e with no separate index update required)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_ins&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows inserted&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_mod&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows modified (insert + update + delete)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_newpage_upd&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows updated where the successor version goes onto a new heap page&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_n_tup_upd&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of rows updated (includes HOT updated rows)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_ncols&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of columns in the table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_pages&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Size of the on-disk representation of this table in pages&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_relid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Relation oid of this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_seq_scan&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of sequential scans initiated on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_seq_tup_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of live rows fetched by sequential scans&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total bytes of this table (including toast, index, toast index)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_size_indexsize&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bytes of all related indexes of this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_size_relsize&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bytes of this table itself (main, vm, fsm)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_size_toastsize&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bytes of toast tables of this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_tbl_scan&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of scans initiated on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_tup_read&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of live rows fetched by scans&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_tuples&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;All txid before this have been frozen on this table&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_table_vacuum_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;relname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times this table has been manually vacuumed (not counting VACUUM FULL)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_timestamp&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;database current timestamp&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;last scrape was able to connect to the server: 1 for yes, 0 for no&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_uptime&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds since postmaster start&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;server version number&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wait_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;event&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Count of WaitEvent on target database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_buffers_full&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times WAL data was written to disk because WAL buffers became full&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of WAL generated in bytes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_fpi&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of WAL full page images generated&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_records&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of WAL records generated&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_reset_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;When statistics were last reset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_sync&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times WAL files were synced to disk via issue_xlog_fsync request&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_sync_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_write&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of times WAL buffers were written out to disk via XLogWrite request.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_wal_write_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of time spent writing WAL buffers to disk via XLogWrite request in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_write_lsn&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;primary only, location of current wal writing&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_xact_xmax&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;First as-yet-unassigned txid. txid &amp;gt;= this are invisible.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_xact_xmin&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Earliest txid that is still active&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pg_xact_xnum&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current active transaction count&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:cls:load1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:cls:load15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:cls:load5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:conn_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:conn_usage_reserve&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_current_conn&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_disabled&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_max_conn&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_paused&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_reserve_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:db:pool_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:free_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:free_servers&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:load1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:load15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:load5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:login_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:pool_databases&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:pool_users&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:pools&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer:ins:used_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_current_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of connections for this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_disabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;True(1) if this database is currently disabled, else 0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_max_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of allowed connections for this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_min_pool_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Minimum number of server connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_paused&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;True(1) if this database is currently paused, else 0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_pool_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of server connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_database_reserve_pool&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;real_datname&lt;/code&gt;, &lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of additional connections for this database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_agent_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_last_scrape_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_cache_ttl&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times to live of query cache&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds query spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_scrape_error_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times the query failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_scrape_hit_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;numbers been scrapped from this query&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_scrape_metric_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;numbers of metrics been scrapped from this query&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_query_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter server was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_scrape_error_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter was scraped for metrics and failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_server_scrape_duration&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter server spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_server_scrape_total_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;times exporter server was scraped for metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_server_scrape_total_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds exporter server spending on scrapping&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;always be 1 if your could retrieve metrics&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_exporter_uptime&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;seconds since exporter primary server inited&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_in_recovery&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;server is in recovery mode? 1 for yes 0 for no&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_list_items&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of corresponding pgbouncer object&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_active_cancel_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Client connections that have forwarded query cancellations to the server and are waiting for the server response.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_active_cancel_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections that are currently forwarding a cancel request&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_active_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Client connections that are linked to server connection and can process queries&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_active_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections that are linked to a client&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_cancel_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Client connections that have not forwarded query cancellations to the server yet.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_cancel_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cancel requests have completed that were sent to cancel a query on this server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_idle_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections that are unused and immediately usable for client queries&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_login_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections currently in the process of logging in&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_maxwait&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long the first(oldest) client in the queue has waited, in seconds, key metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_maxwait_us&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Microsecond part of the maximum waiting time.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_tested_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections that are currently running reset or check query&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_used_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server connections that have been idle for more than server_check_delay (means have to run check query)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_pool_waiting_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;pool_mode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Client connections that have sent queries but have not yet got a server connection&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_query_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average queries per second in last stat period&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_query_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average query duration, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_recv&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average received (from clients) bytes per second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_sent&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average sent (to clients) bytes per second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_wait_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent by clients waiting for a server, in seconds (average per second).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_xact_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average transactions per second in last stat period&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_avg_xact_time&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Average transaction duration, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_query_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of SQL queries pooled by pgbouncer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_query_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of seconds spent when executing queries&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_received&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total volume in bytes of network traffic received by pgbouncer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_sent&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total volume in bytes of network traffic sent by pgbouncer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_wait_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time spent by clients waiting for a server, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_xact_count&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of SQL transactions pooled by pgbouncer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_stat_total_xact_time&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;datname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of seconds spent when in a transaction&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;last scrape was able to connect to the server: 1 for yes, 0 for no&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;pgbouncer_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;server version number&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_cpu_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total user and system CPU time spent in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_max_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_open_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_resident_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Resident memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time of the process since unix epoch in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Virtual memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_max_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum amount of virtual memory available in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_in_flight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of scrapes being served.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;code&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes by HTTP status code.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_post_metric_relabeling&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_scraped&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_series_added&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>3坏2应急处理</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/drill/</link>
        <pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/drill/</guid>
        <description>&lt;p&gt;如果经典3节点高可用部署同时出现两台（多数主体）故障，系统通常无法自动完成故障切换，需要人工介入：&lt;/p&gt;&#xA;&lt;p&gt;首先判断另外两台服务器的情况，如果短时间内可以拉起，优先选择拉起另外两台服务。否则进入 &lt;strong&gt;紧急止血流程&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>使用 VIP-Manager 为 PostgreSQL 集群配置二层 VIP</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/pg-vip/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/pg-vip/</guid>
        <description>&lt;p&gt;您可以在 PostgreSQL 集群上绑定一个可选的 L2 VIP —— 前提条件是：集群中的所有节点都在一个二层网络中。&lt;/p&gt;&#xA;&lt;p&gt;这个 L2 VIP 强制使用 Master - Backup 模式，Master 始终指向在数据库集群主库实例所在的节点。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Citus 集群部署</title>
        <link>https://pgsty.pro/zh/docs/pgsql/tutorial/citus/</link>
        <pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/tutorial/citus/</guid>
        <description>&lt;p&gt;Citus 是一个 PostgreSQL 扩展，可以将 PostgreSQL 原地转换为一个分布式数据库，并实现在多个节点上水平扩展，以处理大量数据和大量查询。&lt;/p&gt;&#xA;&lt;p&gt;Patroni 在 v3.0 后，提供了对 Citus 原生高可用的支持，简化了 Citus 集群的搭建，Pigsty 也对此提供了原生支持。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/pgsql/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/playbook/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty 提供了一系列剧本，用于集群上下线扩缩容，用户/数据库管理，监控、备份恢复或迁移已有实例。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;剧本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;功能&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsqlyml&#34;&gt;&lt;code&gt;pgsql.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;初始化 PostgreSQL 集群或添加新的从库&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-rmyml&#34;&gt;&lt;code&gt;pgsql-rm.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;移除 PostgreSQL 集群，或移除某个实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-useryml&#34;&gt;&lt;code&gt;pgsql-user.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;在现有的 PostgreSQL 集群中添加新的业务用户&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-dbyml&#34;&gt;&lt;code&gt;pgsql-db.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;在现有的 PostgreSQL 集群中添加新的业务数据库&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-monitoryml&#34;&gt;&lt;code&gt;pgsql-monitor.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;将远程 PostgreSQL 实例纳入监控中&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-migrationyml&#34;&gt;&lt;code&gt;pgsql-migration.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;为现有的 PostgreSQL 集群生成迁移手册和脚本&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-pitryml&#34;&gt;&lt;code&gt;pgsql-pitr.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;执行 PostgreSQL 时间点恢复 (PITR)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;保护机制&#34;&gt;保护机制&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/a&gt; 剧本时需要 &lt;strong&gt;特别注意&lt;/strong&gt;，剧本 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsqlyml&#34;&gt;&lt;code&gt;pgsql.yml&lt;/code&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/playbook/#pgsql-rmyml&#34;&gt;&lt;code&gt;pgsql-rm.yml&lt;/code&gt;&lt;/a&gt; 使用不当会有误删数据库的风险！&lt;/p&gt;</description>
      </item>
    <item>
        <title>PostgreSQL</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/postgres/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/postgres/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.postgresql.org/&#34;&gt;PostgreSQL&lt;/a&gt; 是世界上最先进和最受欢迎的开源数据库。&lt;/p&gt;&#xA;&lt;p&gt;默认安装 PostgreSQL 18，支持 PostgreSQL 14 ~ 18，并提供 575 个 PG 扩展。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;快速开始&#34;&gt;快速开始&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/conf/pgsql.yml&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt; 配置模板 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/install/&#34;&gt;&lt;strong&gt;安装&lt;/strong&gt;&lt;/a&gt; Pigsty。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Supabase</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/supabase/</link>
        <pubDate>Sun, 23 Jun 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/supabase/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://supabase.com/&#34;&gt;Supabase&lt;/a&gt; —— Build in a weekend, Scale to millions&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Supabase 是一个开源的 Firebase 替代，对 PostgreSQL 进行了封装，并提供了认证，开箱即用的 API，边缘函数，实时订阅，对象存储，向量嵌入能力。&#xA;这是一个低代码的一站式后端平台，能让你几乎告别大部分后端开发的工作，只需要懂数据库设计与前端即可快速出活！&lt;/p&gt;</description>
      </item>
    <item>
        <title>Citus</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/citus/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/citus/</guid>
        <description>&lt;p&gt;Pigsty 原生支持 Citus。这是一个基于原生 PostgreSQL 内核的分布式水平扩展插件。&lt;/p&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://pgsty.pro/img/pigsty/citus.jpg&#34; alt=&#34;Citus&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;安装&#34;&gt;安装&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Citus 是一个 PostgreSQL &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;扩展插件&lt;/a&gt;，可以按照标准插件安装的流程，在原生 PostgreSQL 集群上加装启用。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-8fcc0cd5-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-8fcc0cd5-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./pgsql.yml -t pg_extension -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;{&amp;#34;pg_extensions&amp;#34;:[&amp;#34;citus&amp;#34;]}&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置&#34;&gt;配置&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;要定义一个 citus 集群，您需要指定以下参数：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Babelfish</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/babelfish/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/babelfish/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://babelfishpg.org/&#34;&gt;Babelfish&lt;/a&gt; 是一个提供 MS SQL Server 线缆协议兼容性的内核分支 + 扩展，由 AWS 开源。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 允许您使用 &lt;code&gt;mssql&lt;/code&gt; 模式部署 Babelfish 内核，在 PostgreSQL 上提供：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SQL Server 线缆协议兼容（TDS 协议，&lt;code&gt;1433&lt;/code&gt; 端口）&lt;/li&gt;&#xA;&lt;li&gt;T-SQL 语法兼容&lt;/li&gt;&#xA;&lt;li&gt;与 Pigsty 现有能力（高可用、备份、监控、IaC）统一集成&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;在 Pigsty v4 中，Babelfish 支持 &lt;strong&gt;PostgreSQL 17/18&lt;/strong&gt;，默认模板使用 &lt;code&gt;pg_version: 17&lt;/code&gt;，并已经纳入 Pigsty 标准交付链路。支持所有 Linux 平台。&lt;/p&gt;</description>
      </item>
    <item>
        <title>IvorySQL</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/ivorysql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/ivorysql/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.ivorysql.org/&#34;&gt;IvorySQL&lt;/a&gt; 是一个开源的，旨在基于 PG 提供 “Oracle 兼容性” 的 PostgreSQL 内核分支。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty PGSQL 仓库直接提供 IvorySQL 5.4 软件包，兼容 PostgreSQL 18.4，并覆盖当前支持的 EL、Debian、Ubuntu 与双架构平台。&#xA;在线安装使用 Pigsty 的 &lt;code&gt;pgsql&lt;/code&gt; 仓库；商业版同时提供对应平台的离线交付方案。&lt;/p&gt;</description>
      </item>
    <item>
        <title>PolarDB PG</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/polardb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/polardb/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 允许使用 PolarDB 创建带有 “国产化信创资质” 的 PostgreSQL 集群！&lt;/p&gt;&#xA;&lt;p&gt;PolarDB for PostgreSQL 当前以 PostgreSQL 17 为基线，Pigsty 中的 &lt;code&gt;polar&lt;/code&gt; 模板、默认路径与扩展说明也已经同步到 PG17。任何兼容 PostgreSQL 线缆协议的客户端工具都可以访问 PolarDB 集群。&lt;/p&gt;</description>
      </item>
    <item>
        <title>PolarDB Oracle</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/polardb-o/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/polardb-o/</guid>
        <description>&lt;p&gt;Pigsty 允许使用 PolarDB 创建带有 “国产化信创资质” 的 PolarDB for Oracle 集群！&lt;/p&gt;&#xA;&lt;p&gt;根据 【&lt;a href=&#34;http://www.itsec.gov.cn/aqkkcp/cpgg/202312/t20231226_162074.html&#34;&gt;安全可靠测评结果公告（2023年第1号）&lt;/a&gt;】，附表三、集中式数据库。PolarDB v2.0 属于自主可控，安全可靠的国产信创数据库。&lt;/p&gt;&#xA;&lt;p&gt;PolarDB for Oracle 是基于 PolarDB for PostgreSQL 进行二次开发的 Oracle 兼容版本，两者共用同一套内核，通过 &lt;code&gt;--compatibility-mode&lt;/code&gt; 参数进行区分。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Percona</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/percona/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/percona/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.percona.com/postgresql/software/postgresql-distribution&#34;&gt;Percona Postgres&lt;/a&gt; 是一个带有 &lt;a href=&#34;https://docs.percona.com/pg-tde/index.html&#34;&gt;&lt;code&gt;pg_tde&lt;/code&gt;&lt;/a&gt;（透明数据加密）扩展的补丁 Postgres 内核。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 从 v4.4.0 起将 Percona PostgreSQL 打包到私有前缀 &lt;code&gt;/usr/pgtde-$v&lt;/code&gt;，v4.5.0 延续这一布局&#xA;（PostgreSQL 18 对应 &lt;code&gt;/usr/pgtde-18&lt;/code&gt;）。&lt;code&gt;pgtde&lt;/code&gt; 包别名会同时安装内核包&#xA;与 contrib 包，其中包含 &lt;code&gt;pg_tde&lt;/code&gt;、PostGIS、pgvector、wal2json、pg_repack、&#xA;pgaudit、pg_stat_monitor 等常用组件。&lt;/p&gt;</description>
      </item>
    <item>
        <title>PostgresML</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/pgml/</link>
        <pubDate>Sun, 23 Jun 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/pgml/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://postgresml.org/&#34;&gt;PostgresML&lt;/a&gt; 是一个 PostgreSQL 扩展，支持最新的大语言模型（LLM）、向量操作、经典机器学习以及传统的 Postgres 应用负载。&lt;/p&gt;&#xA;&lt;p&gt;PostgresML (pgml) 是一个用 Rust 编写的 PostgreSQL 扩展。您可以运行独立的 Docker 镜像，但本文档不是 docker-compose 模板介绍，仅供参考。&lt;/p&gt;</description>
      </item>
    <item>
        <title>openHalo</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/openhalo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/openhalo/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.openhalo.org/&#34;&gt;OpenHalo&lt;/a&gt; 是一个开源的 PostgreSQL 内核，提供 MySQL 线协议兼容性。&lt;/p&gt;&#xA;&lt;p&gt;openHalo 基于 PostgreSQL 14.18 内核版本，提供与 MySQL 5.7.32-log / 8.0 版本的线协议兼容性。Pigsty 通过 &lt;code&gt;pg_mode: mysql&lt;/code&gt; 与 &lt;code&gt;openhalo&lt;/code&gt; 包别名交付。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty 在所有支持的 Linux 平台上为 OpenHalo 提供部署支持。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Greenplum</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/greenplum/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/greenplum/</guid>
        <description>&lt;p&gt;Pigsty 支持部署 Greenplum 集群，及其衍生发行版 YMatrixDB，并提供了将现有 Greenplum 部署纳入 Pigsty 监控的能力。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Greenplum / YMatrix 集群部署能力仅在专业版本/企业版本中提供，目前不对外开源。&lt;/p&gt;</description>
      </item>
    <item>
        <title>OrioleDB</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/orioledb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/orioledb/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://orioledb.com/&#34;&gt;OrioleDB&lt;/a&gt; 是一个 PostgreSQL 存储引擎扩展，声称能够提供 4 倍 OLTP 性能，没有 xid 环绕和表膨胀问题，并具有&amp;quot;云原生&amp;quot;（数据存储在 S3）能力。&lt;/p&gt;&#xA;&lt;p&gt;OrioleDB 当前在 Pigsty 中支持 PostgreSQL 16、17、18 三个兼容系，当前基线版本为 OrioleDB 1.8 beta16。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Cloudberry</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/cloudberry/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/cloudberry/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://cloudberry.apache.org/&#34;&gt;Cloudberry&lt;/a&gt; 是一个源自 Greenplum 社区的开源 MPP 数据仓库内核，适合大规模并行分析场景。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在 Pigsty 中，Cloudberry 沿用 &lt;code&gt;gpsql&lt;/code&gt; 模式接入，与 Greenplum / MatrixDB 共享一套身份模型、监控逻辑与目录约定。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Neon</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/neon/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/neon/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://github.com/neondatabase/neon&#34;&gt;&lt;strong&gt;Neon&lt;/strong&gt;&lt;/a&gt; 采用了存储与计算分离架构，提供了丝滑的自动扩缩容，Scale to Zero，以及数据库版本分叉等独家能力。&lt;/p&gt;&#xA;&lt;p&gt;Neon 官网：https://neon.tech/&lt;/p&gt;</description>
      </item>
    <item>
        <title>AgensGraph</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/agensgraph/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/agensgraph/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://github.com/skaiworldwide-oss/agensgraph&#34;&gt;AgensGraph&lt;/a&gt; 是基于 PostgreSQL 的属性图数据库内核，支持 openCypher 查询，并允许 Cypher 与 SQL 混合使用。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 通过 &lt;code&gt;pg_mode: agens&lt;/code&gt; 接入 AgensGraph，并保留标准 PostgreSQL 集群的大部分运维体验。&lt;/p&gt;</description>
      </item>
    <item>
        <title>pgEdge</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/pgedge/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/pgedge/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.pgedge.com/&#34;&gt;&lt;strong&gt;pgEdge&lt;/strong&gt;&lt;/a&gt; 是面向边缘场景的分布式 PostgreSQL 发行版，核心能力建立在 &lt;a href=&#34;https://docs.pgedge.com/spock-v5&#34;&gt;&lt;strong&gt;Spock&lt;/strong&gt;&lt;/a&gt; 多主逻辑复制之上。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;概览&#34;&gt;概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 通过 &lt;code&gt;pg_mode: pgedge&lt;/code&gt; 接入 pgEdge，并用标准 PG 集群编排流程交付其核心组件：&lt;/p&gt;</description>
      </item>
    <item>
        <title>DocumentDB</title>
        <link>https://pgsty.pro/zh/docs/pgsql/kernel/documentdb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/kernel/documentdb/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pigsty.cc/ext/e/documentdb&#34;&gt;&lt;strong&gt;DocumentDB&lt;/strong&gt;&lt;/a&gt; 是微软开源维护的 PostgreSQL 文档数据库扩展，&lt;a href=&#34;https://github.com/FerretDB/FerretDB&#34;&gt;&lt;strong&gt;FerretDB&lt;/strong&gt;&lt;/a&gt; 是构建在其上的无状态协议转换代理。&#xA;两者组合，让标准 PostgreSQL 内核对外提供 MongoDB 线协议兼容端点——使用 MongoDB 驱动的应用程序可以直接对接，请求被转换为对 PostgreSQL 的操作。&lt;/p&gt;</description>
      </item>
    <item>
        <title>快速开始</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/start/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/start/</guid>
        <description>&lt;p&gt;在 Pigsty 中使用扩展需要四个步骤：&lt;strong&gt;下载&lt;/strong&gt;、&lt;strong&gt;安装&lt;/strong&gt;、&lt;strong&gt;配置&lt;/strong&gt;、&lt;strong&gt;启用&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;下载&lt;/strong&gt;：将扩展软件包下载到本地仓库（默认本地仓库只保证基础内核与 &lt;code&gt;pgsql-main&lt;/code&gt; 包集）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;安装&lt;/strong&gt;：在集群节点上安装扩展软件包&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;配置&lt;/strong&gt;：部分扩展需要预加载或配置参数&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;启用&lt;/strong&gt;：在数据库中执行 &lt;code&gt;CREATE EXTENSION&lt;/code&gt; 创建扩展&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;声明式配置&#34;&gt;声明式配置&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在 Pigsty 配置清单中声明扩展，集群初始化时自动完成安装与启用：&lt;/p&gt;</description>
      </item>
    <item>
        <title>扩展简介</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/intro/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/intro/</guid>
        <description>&lt;p&gt;扩展是 PostgreSQL 的灵魂所在。Pigsty 收录了 575 个预编译、开箱即用的扩展插件，充分释放 PostgreSQL 的潜能。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;扩展是什么&#34;&gt;扩展是什么&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PostgreSQL 扩展（Extension）是一种模块化机制，允许在不修改核心代码的情况下增强数据库功能。&#xA;一个扩展通常包含三部分：&lt;/p&gt;</description>
      </item>
    <item>
        <title>软件包</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/pkg/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/pkg/</guid>
        <description>&lt;p&gt;Pigsty 使用 &lt;strong&gt;包别名&lt;/strong&gt; 机制简化扩展的安装与管理。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;包别名机制&#34;&gt;包别名机制&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;管理扩展涉及多个层面的名称映射：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;层面&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;示例 &lt;code&gt;pgvector&lt;/code&gt;&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;示例 &lt;code&gt;postgis&lt;/code&gt;&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;扩展名&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgis&lt;/code&gt;, &lt;code&gt;postgis_topology&lt;/code&gt;, &amp;hellip;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;包别名&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgvector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgis&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;RPM 包名&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgvector_18&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgis36_18*&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DEB 包名&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgresql-18-pgvector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgresql-18-postgis-3*&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Pigsty 提供 &lt;strong&gt;包别名&lt;/strong&gt; 抽象层，让用户无需关心具体的 RPM/DEB 包名：&lt;/p&gt;</description>
      </item>
    <item>
        <title>下载扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/download/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/download/</guid>
        <description>&lt;p&gt;在安装扩展前，需要确保扩展软件包已下载到本地仓库或可从上游获取。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;默认行为&#34;&gt;默认行为&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 默认会把基础 PostgreSQL 18 内核包下载到本地软件仓库。默认额外下载集为 &lt;code&gt;repo_extra_packages_default: [ pgsql-main ]&lt;/code&gt;，包含 PostgreSQL 内核、客户端、过程语言，以及 &lt;code&gt;pg_repack&lt;/code&gt;、&lt;code&gt;wal2json&lt;/code&gt;、&lt;code&gt;pgvector&lt;/code&gt; 等基础扩展包。&lt;/p&gt;</description>
      </item>
    <item>
        <title>安装扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/install/</guid>
        <description>&lt;p&gt;Pigsty 使用操作系统的包管理器（yum/apt）安装扩展软件包。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;相关参数&#34;&gt;相关参数&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;两个参数用于指定要安装的扩展：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;用途&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;默认行为&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_packages&#34;&gt;&lt;code&gt;pg_packages&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;全局通用软件包&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;确保存在（不升级）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_extensions&#34;&gt;&lt;code&gt;pg_extensions&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;集群特定扩展&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;安装最新版本&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;pg_packages&lt;/code&gt; 通常用于指定所有集群都需要的基础组件（PostgreSQL 内核、Patroni、pgBouncer 等）和必选扩展。&lt;/p&gt;</description>
      </item>
    <item>
        <title>配置扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/config/</guid>
        <description>&lt;p&gt;部分扩展需要预加载动态库或配置参数后才能使用，本节介绍如何配置扩展。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;预加载扩展&#34;&gt;预加载扩展&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;大多数扩展安装后可直接使用 &lt;code&gt;CREATE EXTENSION&lt;/code&gt; 启用，但部分使用 PostgreSQL Hook 机制的扩展需要 &lt;strong&gt;预加载&lt;/strong&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>启用扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/create/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/create/</guid>
        <description>&lt;p&gt;安装扩展软件包后，需要在数据库中执行 &lt;code&gt;CREATE EXTENSION&lt;/code&gt; 才能使用扩展功能。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;查看可用扩展&#34;&gt;查看可用扩展&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;安装扩展软件包后，可以查看可用的扩展：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-ab3ceabd-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;sql&#34; data-td-line-count=&#34;8&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-ab3ceabd-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- 查看所有可用扩展&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pg_available_extensions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- 查看特定扩展&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pg_available_extensions&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WHERE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;vector&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;-- 查看已启用的扩展&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pg_extension&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;创建扩展&#34;&gt;创建扩展&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;CREATE EXTENSION&lt;/code&gt; 在数据库中启用扩展：&lt;/p&gt;</description>
      </item>
    <item>
        <title>更新扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/update/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/update/</guid>
        <description>&lt;p&gt;扩展更新涉及两个层面：&lt;strong&gt;软件包更新&lt;/strong&gt;（操作系统层面）和 &lt;strong&gt;扩展对象更新&lt;/strong&gt;（数据库层面）。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;更新软件包&#34;&gt;更新软件包&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用包管理器更新扩展的软件包：&lt;/p&gt;</description>
      </item>
    <item>
        <title>移除扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/remove/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/remove/</guid>
        <description>&lt;p&gt;移除扩展涉及两个层面：&lt;strong&gt;删除扩展对象&lt;/strong&gt;（数据库层面）和 &lt;strong&gt;卸载软件包&lt;/strong&gt;（操作系统层面）。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;删除扩展对象&#34;&gt;删除扩展对象&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;DROP EXTENSION&lt;/code&gt; 从数据库中删除扩展：&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/pgsql/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;我当前执行安装的用户为何不能使用-pg-管理别名&#34;&gt;我当前执行安装的用户为何不能使用 &lt;code&gt;pg&lt;/code&gt; 管理别名？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;从 Pigsty v4.0 开始，使用 &lt;code&gt;pg&lt;/code&gt; 管理别名管理全局的 Patroni / PostgreSQL 集群的权限被收紧到了管理节点上的管理员分组（&lt;code&gt;admin&lt;/code&gt;）。&lt;/p&gt;</description>
      </item>
    <item>
        <title>默认扩展</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/extension/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/extension/</guid>
        <description>&lt;p&gt;Pigsty 在初始化 PostgreSQL 集群时，会默认安装和启用一些核心扩展。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;默认安装的扩展&#34;&gt;默认安装的扩展&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_packages&#34;&gt;&lt;code&gt;pg_packages&lt;/code&gt;&lt;/a&gt; 默认安装的扩展：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;扩展&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_repack&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;在线处理表膨胀，重要的维护工具&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;wal2json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;逻辑解码输出 JSON 格式变更，CDC 场景常用&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgvector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;向量数据类型与索引，默认随 &lt;code&gt;pgsql-main&lt;/code&gt; 安装&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/param/#pg_extensions&#34;&gt;&lt;code&gt;pg_extensions&lt;/code&gt;&lt;/a&gt; 的默认值为空数组 &lt;code&gt;[]&lt;/code&gt;。如需安装其他扩展，可以按需声明，例如：&lt;/p&gt;</description>
      </item>
    <item>
        <title>扩展仓库</title>
        <link>https://pgsty.pro/zh/docs/pgsql/ext/repo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/pgsql/ext/repo/</guid>
        <description>&lt;p&gt;Pigsty 提供补充扩展仓库，在 PGDG 官方仓库基础上提供额外的扩展包。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;yum-仓库&#34;&gt;YUM 仓库&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;适用于 EL 8/9/10 及其兼容系统（RHEL、Rocky、AlmaLinux、CentOS 等）。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/infra/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/config/</guid>
        <description>&lt;h2 id=&#34;配置说明&#34;&gt;配置说明&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;INFRA 主要用于提供 &lt;strong&gt;监控&lt;/strong&gt; 基础设施，对于 PostgreSQL 数据库是 &lt;strong&gt;可选项&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;除非手工配置了对 INFRA 节点上 DNS/NTP 服务的依赖，否则 INFRA 模块故障通常不影响 PostgreSQL 数据库集群运行。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/infra/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/param/</guid>
        <description>&lt;p&gt;INFRA 模块负责配置 Pigsty 的基础设施组件：本地软件源、Nginx、DNSMasq、VictoriaMetrics、VictoriaLogs、Grafana、Alertmanager、Blackbox Exporter 等监控告警基础设施。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/infra/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/playbook/</guid>
        <description>&lt;p&gt;Pigsty 提供了三个与 INFRA 模块相关的剧本：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#deployyml&#34;&gt;&lt;code&gt;deploy.yml&lt;/code&gt;&lt;/a&gt;：在所有节点上一次性部署 NODE、INFRA、ETCD、MINIO 与 PGSQL 核心模块&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#infrayml&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt;：在 infra 节点上初始化 pigsty 基础设施&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#infra-rmyml&#34;&gt;&lt;code&gt;infra-rm.yml&lt;/code&gt;&lt;/a&gt;：从 infra 节点移除基础设施组件&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;deployyml&#34;&gt;&lt;code&gt;deploy.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在所有节点上一次性部署 NODE、INFRA、ETCD、MINIO 与 PGSQL 核心模块，解决 INFRA/NODE 循环依赖问题。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/infra/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/monitor/</guid>
        <description>&lt;p&gt;本文介绍 Pigsty 中 INFRA 模块的监控面板与告警规则。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控面板&#34;&gt;监控面板&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 针对 Infra 模块提供了以下监控面板：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;面板&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;描述&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/pigsty&#34;&gt;Pigsty Home&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Pigsty 监控系统主页&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/infra-overview&#34;&gt;INFRA Overview&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Pigsty 基础设施自监控概览&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/nginx-instance&#34;&gt;Nginx Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Nginx 监控指标与日志&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/grafana-instance&#34;&gt;Grafana Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Grafana 监控指标与日志&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/vmetrics-instance&#34;&gt;VictoriaMetrics Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VictoriaMetrics 抓取/查询状态&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/vmalert-instance&#34;&gt;VMAlert Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;告警规则执行情况&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/alertmanager-instance&#34;&gt;Alertmanager Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;告警聚合与通知&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/vlogs-instance&#34;&gt;VictoriaLogs Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;日志写入、查询与索引&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/logs-instance&#34;&gt;Logs Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;查阅单个节点上的日志信息&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/vtraces-instance&#34;&gt;VictoriaTraces Instance&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Trace 存储与查询&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/inventory-cmdb&#34;&gt;Inventory CMDB&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;CMDB 可视化&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/etcd-overview&#34;&gt;ETCD Overview&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;etcd 集群监控&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;告警规则&#34;&gt;告警规则&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 针对 INFRA 模块提供了以下两条告警规则：&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/infra/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/metric/</guid>
        <description>&lt;hr&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：Pigsty v4.0 已将 Prometheus/Loki 替换为 VictoriaMetrics/Logs/Traces。以下指标清单仍基于 v3.x 生成，仅供排查旧版本问题参考。若需获取最新指标，请在 &lt;code&gt;https://p.pigsty&lt;/code&gt; (VMUI) 或 Grafana 中直接查询，后续版本会重新生成与 Victoria 套件一致的指标速查表。&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/infra/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;infra-模块中包含了哪些组件&#34;&gt;INFRA 模块中包含了哪些组件？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;严格按当前源码区分，&lt;code&gt;infra&lt;/code&gt; 角色直接管理以下组件：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Nginx&lt;/strong&gt;：暴露 Grafana、VictoriaMetrics（VMUI）、Alertmanager 等 WebUI，并托管本地 YUM/APT 仓库。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;DNSMasq&lt;/strong&gt;：提供 DNS 注册与解析。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;VictoriaMetrics 套件&lt;/strong&gt;：VictoriaMetrics、VMAlert、VictoriaLogs 与 VictoriaTraces。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Alertmanager、Blackbox Exporter 与 Grafana&lt;/strong&gt;：告警分发、黑盒探测与可视化。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;infra.yml&lt;/code&gt; 还会串联 CA、软件仓库、NODE、HAProxy 与节点监控角色，因此会在 Infra 节点上配置自签名 CA、Chronyd、Node Exporter 和 Vector 等配套能力。ETCD、PostgreSQL 与 Docker 是独立模块，不由 &lt;code&gt;infra.yml&lt;/code&gt; 部署；应分别运行 &lt;code&gt;etcd.yml&lt;/code&gt;、&lt;code&gt;pgsql.yml&lt;/code&gt; 与 &lt;code&gt;docker.yml&lt;/code&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Nginx 管理</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/portal/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/portal/</guid>
        <description>&lt;p&gt;Pigsty 在 INFRA 节点上安装 Nginx 作为所有 Web 服务的入口，默认监听在 80/443 标准端口上。&lt;/p&gt;&#xA;&lt;p&gt;在 Pigsty 中，你可以通过修改配置清单，让 nginx 对外提供多种服务：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;对外暴露 Grafana、VictoriaMetrics（VMUI）、Alertmanager、VictoriaLogs 等监控组件的 Web 界面&lt;/li&gt;&#xA;&lt;li&gt;提供静态文件服务（如软件仓库、文档站，网站等）&lt;/li&gt;&#xA;&lt;li&gt;代理自定义的应用服务（如内部应用、数据库管理界面，Docker 应用的界面等）&lt;/li&gt;&#xA;&lt;li&gt;自动签发自签名的 HTTPS 证书，或者使用 certbot 申请免费的 Let&amp;rsquo;s Encrypt 证书&lt;/li&gt;&#xA;&lt;li&gt;通过不同的子域名，使用单一端口对外暴露服务&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;基础配置&#34;&gt;基础配置&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;您可以通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/param/#infra_portal&#34;&gt;&lt;code&gt;infra_portal&lt;/code&gt;&lt;/a&gt; 参数定制 Nginx 的行为：&lt;/p&gt;</description>
      </item>
    <item>
        <title>软件仓库</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/repo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/repo/</guid>
        <description>&lt;p&gt;Pigsty 的 REPO 角色会下载所需软件包，并在 &lt;code&gt;/www/pigsty&lt;/code&gt; 创建可由 Nginx 提供服务的本地 YUM/APT 仓库。当前候选软件包版本为 &lt;strong&gt;SOW 0.3.0&lt;/strong&gt;，源码统一使用 SOW 生成两类仓库元数据，不再分别调用 &lt;code&gt;createrepo_c&lt;/code&gt;、&lt;code&gt;modifyrepo_c&lt;/code&gt; 或 &lt;code&gt;dpkg-scanpackages&lt;/code&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>域名管理</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/domain/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/domain/</guid>
        <description>&lt;p&gt;使用域名代替 IP 地址访问 Pigsty 的各项 Web 服务。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;快速开始&#34;&gt;快速开始&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;将以下静态解析记录添加到 &lt;code&gt;/etc/hosts&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4353bf17-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4353bf17-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;10.10.10.10 i.pigsty&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;将 IP 地址替换为实际 Pigsty 节点的 IP。&lt;/p&gt;</description>
      </item>
    <item>
        <title>模块管理</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/sop/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/sop/</guid>
        <description>&lt;p&gt;本文介绍 INFRA 模块的日常管理操作，包括安装、卸载、扩容、以及各组件的管理维护。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;安装-infra-模块&#34;&gt;安装 Infra 模块&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/#infrayml&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt; 剧本在 &lt;code&gt;infra&lt;/code&gt; 分组上安装 INFRA 模块：&lt;/p&gt;</description>
      </item>
    <item>
        <title>CA 与证书</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/cert/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/cert/</guid>
        <description>&lt;p&gt;Pigsty 默认在管理节点维护一套自签名证书颁发机构（CA），为 PostgreSQL、Patroni、etcd、Silo、Nginx 和其他内部服务签发证书。面向公网的 Nginx 入口可以按 &lt;code&gt;infra_portal&lt;/code&gt; 配置改用 Certbot/Let&amp;rsquo;s Encrypt 证书。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/node/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/config/</guid>
        <description>&lt;p&gt;Pigsty 使用 &lt;strong&gt;IP 地址&lt;/strong&gt; 作为 &lt;strong&gt;节点&lt;/strong&gt; 的唯一身份标识，&lt;strong&gt;该 IP 地址应当是数据库实例监听并对外提供服务的内网 IP 地址&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-551db065-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;7&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-551db065-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;node-test&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.11&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;nodename&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;node-test-1 }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;nodename&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;node-test-2 }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.13&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;nodename&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;node-test-3 }&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;node_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;node-test&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;该 IP 地址必须是数据库实例监听并对外提供服务的 IP 地址，但不宜使用公网 IP 地址。尽管如此，用户并不一定非要通过该 IP 地址连接至该数据库。例如，通过 SSH 隧道或跳板机中转的方式间接操作管理目标节点也是可行的。但在标识数据库节点时，首要 IPv4 地址依然是节点的核心标识符。&lt;strong&gt;这一点非常重要，用户应当在配置时保证这一点&lt;/strong&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/node/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/param/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;NODE&lt;/a&gt; 模块负责将主机节点调整到期待的目标状态，并将其纳入 Pigsty 的监控系统中。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数组&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;功能说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_id&#34;&gt;&lt;code&gt;NODE_ID&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_ID 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_DNS 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_package&#34;&gt;&lt;code&gt;NODE_PACKAGE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_PACKAGE 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_TUNE 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_sec&#34;&gt;&lt;code&gt;NODE_SEC&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_SEC 安全相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_ADMIN 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_TIME 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_vip&#34;&gt;&lt;code&gt;NODE_VIP&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_VIP 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#haproxy&#34;&gt;&lt;code&gt;HAPROXY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;HAPROXY 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_exporter&#34;&gt;&lt;code&gt;NODE_EXPORTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;NODE_EXPORTER 相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#vector&#34;&gt;&lt;code&gt;VECTOR&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VECTOR 日志收集相关参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;参数概览&#34;&gt;参数概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_id&#34;&gt;&lt;code&gt;NODE_ID&lt;/code&gt;&lt;/a&gt; 参数组用于定义节点的身份标识参数，包括节点名称、集群名称，以及是否从 PostgreSQL 借用身份。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/node/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/playbook/</guid>
        <description>&lt;p&gt;Pigsty 提供两个与 NODE 模块相关的剧本：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/#nodeyml&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt;&lt;/a&gt;：纳管节点，调整节点到期望状态&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/#node-rmyml&#34;&gt;&lt;code&gt;node-rm.yml&lt;/code&gt;&lt;/a&gt;：从 Pigsty 中移除纳管节点&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;另提供两个包装命令工具：&lt;code&gt;bin/node-add&lt;/code&gt; 与 &lt;code&gt;bin/node-rm&lt;/code&gt;，用于快速调用剧本。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;nodeyml&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;向 Pigsty 添加节点的 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/node.yml&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt;&lt;/a&gt; 包含以下子任务：&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/node/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/admin/</guid>
        <description>&lt;p&gt;下面是 Node 模块中常用的管理操作：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e6%b7%bb%e5%8a%a0%e8%8a%82%e7%82%b9&#34;&gt;添加节点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e7%a7%bb%e9%99%a4%e8%8a%82%e7%82%b9&#34;&gt;移除节点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e5%88%9b%e5%bb%ba%e7%ae%a1%e7%90%86%e5%91%98&#34;&gt;创建管理员&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e7%bb%91%e5%ae%9avip&#34;&gt;绑定VIP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e6%b7%bb%e5%8a%a0%e8%8a%82%e7%82%b9%e7%9b%91%e6%8e%a7&#34;&gt;添加节点监控&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/node/admin/#%e5%85%b6%e4%bb%96%e5%b8%b8%e8%a7%81%e4%bb%bb%e5%8a%a1&#34;&gt;其他常见任务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;更多问题请参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/faq/&#34;&gt;FAQ：NODE&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;添加节点&#34;&gt;添加节点&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;要将节点添加到 Pigsty，您需要对该节点具有无密码的 ssh/sudo 访问权限。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/node/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/monitor/</guid>
        <description>&lt;p&gt;Pigsty 当前在 NODE 仪表盘目录中提供 10 个监控面板和完善的告警规则。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控面板&#34;&gt;监控面板&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;NODE 仪表盘目录当前包含 10 个监控仪表板；其中 JuiceFS 与 Claude Code 面板只有在部署并产生相应指标后才会有数据。&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/node/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/metric/</guid>
        <description>&lt;p&gt;本页快照记录 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;strong&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块的 727 类监控指标；实际运行时的指标集合会随软件包版本、启用的采集器和目标状态变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Metric Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Labels&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;alertstate&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS_FOR_STATE&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;deprecated_flags_inuse_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A summary of the pause duration of garbage collection cycles.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_goroutines&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of goroutines that currently exist.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;version&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Go environment.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes allocated, even if freed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_buck_hash_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used by the profiling bucket hash table.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_frees_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of frees.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_gc_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for garbage collection system metadata.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_idle_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes waiting to be used.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes that are in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_objects&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of allocated objects.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_released_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes released to OS.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_last_gc_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds since 1970 of last garbage collection.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of pointer lookups.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mallocs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of mallocs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mcache structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mcache structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mspan structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mspan structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_next_gc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes when next garbage collection will take place.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_other_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for other system allocations.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by the stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system for stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of OS threads created.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy:cls:usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy:ins:uptime&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy:ins:usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_active_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of active UP servers with a non-zero weight&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_agg_check_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Backend&amp;rsquo;s aggregated gauge of servers&amp;rsquo; state check status&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_agg_server_check_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;[DEPRECATED] Backend&amp;rsquo;s aggregated gauge of servers&amp;rsquo; status&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_agg_server_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Backend&amp;rsquo;s aggregated gauge of servers&amp;rsquo; status&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_backup_servers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of backup UP servers with a non-zero weight&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of request bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of response bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_check_last_change_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long ago the last server state changed, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_check_up_down_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed checks causing UP to DOWN server transitions, per server/backend, since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_client_aborts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests or connections aborted by the client since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_connect_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. connect time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_connection_attempts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of outgoing connection attempts on this backend/server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_connection_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed connections to server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_connection_reuses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of reused connection on this backend/server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_current_queue&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of current queued connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_current_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of current sessions on the frontend, backend or server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_downtime_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time spent in DOWN state, for server or backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_failed_header_rewriting_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed HTTP header rewrites since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_cache_hits_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests not found in the cache on this frontend/backend since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_cache_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests looked up in the cache on this frontend/backend since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_comp_bytes_bypassed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes that bypassed HTTP compression for this object since the worker process started (CPU/memory/bandwidth limitation)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_comp_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes submitted to the HTTP compressor for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_comp_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes emitted by the HTTP compressor for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_comp_responses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP responses that were compressed for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests processed by this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_http_responses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP responses with status 100-199 returned by this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_internal_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of internal errors since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_last_session_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long ago some traffic was seen on this object on this worker process, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_limit_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Frontend/listener/server&amp;rsquo;s maxconn, backend&amp;rsquo;s fullconn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_loadbalanced_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests routed by load balancing since the worker process started (ignores queue pop and stickiness)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_connect_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent waiting for a connection to complete&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_queue&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of queued connections encountered since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_queue_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent in the queue&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_response_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent waiting for a server response&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of sessions per second observed since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of current sessions encountered since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_max_total_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed total request+response time (request+queue+connect+response+processing)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_queue_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. queue time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_redispatch_warnings_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of server redispatches due to connection failures since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_requests_denied_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of denied requests since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_response_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of invalid responses since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_response_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. response time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_responses_denied_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of denied responses since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_retry_warnings_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of server connection retries since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_server_aborts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests or connections aborted by the server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_sessions_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of sessions since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current status of the service, per state label value.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_total_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. total time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_uweight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server&amp;rsquo;s user weight, or sum of active servers&amp;rsquo; user weights for a backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_backend_weight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server&amp;rsquo;s effective weight, or sum of active servers&amp;rsquo; effective weights for a backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of request bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of response bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_connections_rate_max&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of connections per second observed since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of new connections accepted on this frontend since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_current_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of current sessions on the frontend, backend or server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_denied_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of incoming connections blocked on a listener/frontend by a tcp-request connection rule since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_denied_sessions_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of incoming sessions blocked on a listener/frontend by a tcp-request connection rule since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_failed_header_rewriting_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed HTTP header rewrites since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_cache_hits_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests not found in the cache on this frontend/backend since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_cache_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests looked up in the cache on this frontend/backend since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_comp_bytes_bypassed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes that bypassed HTTP compression for this object since the worker process started (CPU/memory/bandwidth limitation)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_comp_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes submitted to the HTTP compressor for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_comp_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes emitted by the HTTP compressor for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_comp_responses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP responses that were compressed for this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_requests_rate_max&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of http requests observed since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests processed by this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_http_responses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP responses with status 100-199 returned by this object since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_intercepted_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of HTTP requests intercepted on the frontend (redirects/stats/services) since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_internal_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of internal errors since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_limit_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit on the number of sessions accepted in a second (frontend only, &amp;lsquo;rate-limit sessions&amp;rsquo; setting)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_limit_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Frontend/listener/server&amp;rsquo;s maxconn, backend&amp;rsquo;s fullconn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_max_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of sessions per second observed since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_max_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of current sessions encountered since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_request_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of invalid requests since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_requests_denied_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of denied requests since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_responses_denied_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of denied responses since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_sessions_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of sessions since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_frontend_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current status of the service, per state label value.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_active_peers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of verified active peers connections on the current worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_build_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;version&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Build info&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_busy_polling_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if busy-polling is currently in use on the worker process, otherwise zero (config.busy-polling)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_bytes_out_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes emitted by current worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes emitted by current worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_connected_peers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of peers having passed the connection step on the current worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of connections on this worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_backend_ssl_key_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of SSL keys created on backends in this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_connection_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of front connections created on this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of connections on this worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_frontend_ssl_key_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of SSL keys created on frontends in this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_run_queue&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of active tasks+tasklets in the current worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of sessions created on this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_ssl_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of SSL endpoints on this worker process (front+back)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_ssl_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of SSL connections created on this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_tasks&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of tasks in the current worker process (active + sleeping)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_current_zlib_memory&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Amount of memory currently used by HTTP compression on the current worker process (in bytes)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_dropped_logs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of dropped logs for current worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_failed_resolutions&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed DNS resolutions in current worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_frontend_ssl_reuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Percent of frontend SSL connections which did not require a new key&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_hard_max_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of per-process connections (imposed by Memmax_MB or Ulimit-n)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_http_comp_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes submitted to the HTTP compressor in this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_http_comp_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes emitted by the HTTP compressor in this worker process over the last second&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_idle_time_percent&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Percentage of last second spent waiting in the current worker thread&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_jobs&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of active jobs on the current worker process (frontend connections, master connections, listeners)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_limit_connection_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit for ConnRate (global.maxconnrate)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_limit_http_comp&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit of CompressBpsOut beyond which HTTP compression is automatically disabled&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_limit_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit for SessRate (global.maxsessrate)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_limit_ssl_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit for SslRate (global.maxsslrate)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_listeners&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of active listeners on the current worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_backend_ssl_key_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest SslBackendKeyRate reached on this worker process since started (in SSL keys per second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_connection_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest ConnRate reached on this worker process since started (in connections per second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of per-process connections (configured or imposed by Ulimit-n)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of per-process file descriptors&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_frontend_ssl_key_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest SslFrontendKeyRate reached on this worker process since started (in SSL keys per second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Worker process&amp;rsquo;s hard limit on memory usage in byes (-m on command line)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_pipes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of pipes for splicing, 0=unlimited&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest SessRate reached on this worker process since started (in sessions per second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_sockets&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of per-process sockets&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_ssl_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hard limit on the number of per-process SSL endpoints (front+back), 0=unlimited&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_ssl_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest SslRate reached on this worker process since started (in connections per second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_max_zlib_memory&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit on the amount of memory used by HTTP compression above which it is automatically disabled (in bytes, see global.maxzlibmem)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_nbproc&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of started worker processes (historical, always 1)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_nbthread&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of started threads (global.nbthread)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_pipes_free_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of allocated and available pipes in this worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_pipes_used_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of pipes in use in this worker process&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_pool_allocated_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Amount of memory allocated in pools (in bytes)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_pool_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of failed pool allocations since this worker was started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_pool_used_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Amount of pool memory currently used (in bytes)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_recv_logs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of log messages received by log-forwarding listeners on this worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_relative_process_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Relative worker process number (1)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests on this worker process since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_spliced_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes emitted by current worker process through a kernel pipe since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_ssl_cache_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of SSL session ID lookups in the SSL session cache on this worker since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_ssl_cache_misses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of SSL session ID lookups that didn&amp;rsquo;t find a session in the SSL session cache on this worker since started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_ssl_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of SSL endpoints on this worker process since started (front+back)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_stopping&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if the worker process is currently stopping, otherwise zero&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_unstoppable_jobs&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of unstoppable jobs on the current worker process (master connections)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_process_uptime_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long ago this worker process was started (seconds)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_bytes_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of request bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_bytes_out_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of response bytes since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_code&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;layer5-7 code, if available of the last health check.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total duration of the latest server health check, in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed individual health checks per server/backend, since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_last_change_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long ago the last server state changed, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Status of last health check, per state label value.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_check_up_down_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed checks causing UP to DOWN server transitions, per server/backend, since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_client_aborts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests or connections aborted by the client since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_connect_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. connect time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_connection_attempts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of outgoing connection attempts on this backend/server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_connection_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed connections to server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_connection_reuses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of reused connection on this backend/server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_current_queue&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of current queued connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_current_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of current sessions on the frontend, backend or server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_current_throttle&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Throttling ratio applied to a server&amp;rsquo;s maxconn and weight during the slowstart period (0 to 100%)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_downtime_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total time spent in DOWN state, for server or backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_failed_header_rewriting_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed HTTP header rewrites since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_idle_connections_current&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of idle connections available for reuse on this server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_idle_connections_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit on the number of available idle connections on this server (server &amp;lsquo;pool_max_conn&amp;rsquo; directive)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_internal_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of internal errors since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_last_session_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How long ago some traffic was seen on this object on this worker process, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_limit_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Frontend/listener/server&amp;rsquo;s maxconn, backend&amp;rsquo;s fullconn&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_loadbalanced_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests routed by load balancing since the worker process started (ignores queue pop and stickiness)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_connect_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent waiting for a connection to complete&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_queue&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of queued connections encountered since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_queue_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent in the queue&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_response_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed time spent waiting for a server response&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_session_rate&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of sessions per second observed since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_sessions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Highest value of current sessions encountered since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_max_total_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum observed total request+response time (request+queue+connect+response+processing)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_need_connections_current&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated needed number of connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_queue_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit on the number of connections in queue, for servers only (maxqueue argument)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_queue_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. queue time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_redispatch_warnings_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of server redispatches due to connection failures since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_response_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of invalid responses since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_response_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. response time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_responses_denied_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of denied responses since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_retry_warnings_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of server connection retries since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_safe_idle_connections_current&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of safe idle connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_server_aborts_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of requests or connections aborted by the server since the worker process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_sessions_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of sessions since process started&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current status of the service, per state label value.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_total_time_average_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Avg. total time for last 1024 successful connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_unsafe_idle_connections_current&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of unsafe idle connections&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_used_connections_current&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of connections in use&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_uweight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server&amp;rsquo;s user weight, or sum of active servers&amp;rsquo; user weights for a backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_server_weight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;proxy&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server&amp;rsquo;s effective weight, or sum of active servers&amp;rsquo; effective weights for a backend&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;haproxy_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;inflight_requests&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of inflight requests.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_baggage_restrictions_updates_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_baggage_truncations_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_baggage_updates_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_finished_spans_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;sampled&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_reporter_queue_length&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of spans in the reporter queue&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_reporter_spans_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_sampler_queries_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_sampler_updates_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_span_context_decoding_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_started_spans_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;sampled&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_throttled_debug_spans_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_throttler_updates_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;result&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;jaeger_tracer_traces_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;sampled&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_experimental_features_in_use_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_internal_log_messages_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;level&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_log_flushes_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_log_flushes_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_log_flushes_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_log_messages_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;level&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_logql_querystats_duplicates_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_logql_querystats_ingester_sent_lines_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_querier_index_cache_corruptions_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_querier_index_cache_encode_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_querier_index_cache_gets_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_querier_index_cache_hits_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;loki_querier_index_cache_puts_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;net_conntrack_dialer_conn_attempted_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;dialer_name&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of connections attempted by the given dialer a given name.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;net_conntrack_dialer_conn_closed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;dialer_name&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of connections closed which originated from the dialer of a given name.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;net_conntrack_dialer_conn_established_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;dialer_name&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of connections successfully established by the given dialer a given name.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;net_conntrack_dialer_conn_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;reason&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;dialer_name&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of connections failed to dial by the dialer a given name.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:avail_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_iops_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_mreads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_mreads_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_mwrites_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_mwrites_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_read_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_reads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_write_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:disk_writes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:free_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:network_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:network_rx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:network_rx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:network_tx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:network_tx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:space_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:space_usage_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:stdload1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:stdload15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:stdload5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cls:time_drift_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:idle_time_irate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:sched_timeslices_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:sched_wait_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:time_irate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:total_time_irate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:usage_avg15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:usage_avg1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:cpu:usage_avg5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_avg_queue_size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_io_batch_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_io_rt_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_io_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_iops_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_mreads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_mreads_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_mwrites_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_mwrites_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_read_batch_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_read_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_read_rt_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_read_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_reads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_util_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_write_batch_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_write_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_write_rt_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_write_time_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:disk_writes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:network_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:network_rx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:network_rx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:network_tx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:dev:network_tx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:avail_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:device_space_usage_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:free_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:mem_avail&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:mem_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:space_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:stdload1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:stdload15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:env:stdload5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:avail_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:free_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:inode_free&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:inode_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:inode_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:inode_used&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:space_deriv1h&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:space_exhaust&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:space_predict_1d&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:fs:space_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;id&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;nodename&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:avail_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:cpu_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:cpu_usage_15m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:cpu_usage_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:cpu_usage_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:ctx_switch_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_iops_1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_mreads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_mreads_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_mwrites_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_mwrites_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_read_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_reads_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_write_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:disk_writes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:fd_alloc_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:fd_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:forks_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:free_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:inode_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:interrupt_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:mem_avail&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:mem_commit_ratio&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:mem_kernel&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:mem_rss&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:network_io_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:network_rx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:network_rx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:network_tx_bytes_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:network_tx_pps1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:pagefault_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:pagein_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:pageout_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:pgmajfault_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:sched_wait_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:space_usage_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:stdload1&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:stdload15&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:stdload5&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:swap_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:swapin_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:swapout_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_active_opens_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_dropped_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_error&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_error_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_insegs_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_outsegs_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_overflow_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_passive_opens_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_retrans_ratio1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_retranssegs_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:tcp_segs_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:time_drift&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:udp_in_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:udp_out_rate1m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node:ins:uptime&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_arp_entries&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;ARP entries by device&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_boot_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Node boot time, in unixtime.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_context_switches_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of context switches.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_cooling_device_cur_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current throttle state of the cooling device&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_cooling_device_max_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum throttle state of the cooling device&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_cpu_guest_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Seconds the CPUs spent in guests (VMs) for each mode.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_cpu_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Seconds the CPUs spent in each mode.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_discard_time_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;This is the total number of seconds spent by all discards.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_discarded_sectors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of sectors discarded successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_discards_completed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of discards completed successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_discards_merged_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of discards merged.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_filesystem_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;usage&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;uuid&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Info about disk filesystem.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;minor&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;major&lt;/code&gt;, &lt;code&gt;revision&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;model&lt;/code&gt;, &lt;code&gt;serial&lt;/code&gt;, &lt;code&gt;path&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Info of /sys/block/&amp;lt;block_device&amp;gt;.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_io_now&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of I/Os currently in progress.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_io_time_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total seconds spent doing I/Os.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_io_time_weighted_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The weighted # of seconds spent doing I/Os.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_read_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes read successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_read_time_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of seconds spent by all reads.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_reads_completed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of reads completed successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_reads_merged_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of reads merged.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_write_time_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;This is the total number of seconds spent by all writes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_writes_completed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of writes completed successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_writes_merged_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of writes merged.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_disk_written_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes written successfully.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_dmi_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;bios_vendor&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;product_family&lt;/code&gt;, &lt;code&gt;product_version&lt;/code&gt;, &lt;code&gt;product_uuid&lt;/code&gt;, &lt;code&gt;system_vendor&lt;/code&gt;, &lt;code&gt;bios_version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;bios_date&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;product_name&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;chassis_version&lt;/code&gt;, &lt;code&gt;chassis_vendor&lt;/code&gt;, &lt;code&gt;product_serial&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A metric with a constant &amp;lsquo;1&amp;rsquo; value labeled by bios_date, bios_release, bios_vendor, bios_version, board_asset_tag, board_name, board_serial, board_vendor, board_version, chassis_asset_tag, chassis_serial, chassis_vendor, chassis_version, product_family, product_name, product_serial, product_sku, product_uuid, product_version, system_vendor if provided by DMI.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_entropy_available_bits&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bits of available entropy.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_entropy_pool_size_bits&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Bits of entropy pool.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_exporter_build_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;revision&lt;/code&gt;, &lt;code&gt;goversion&lt;/code&gt;, &lt;code&gt;branch&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;goarch&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;goos&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A metric with a constant &amp;lsquo;1&amp;rsquo; value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filefd_allocated&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;File descriptor statistics: allocated.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filefd_maximum&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;File descriptor statistics: maximum.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_avail_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem space available to non-root users in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_device_error&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether an error occurred while getting statistics for the given device.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_files&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem total file nodes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_files_free&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem total free file nodes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_free_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem free space in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_readonly&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem read-only status.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_filesystem_size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;mountpoint&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;fstype&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Filesystem size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_forks_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of forks.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_hwmon_chip_names&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;chip_name&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;chip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Annotation metric for human-readable chip names&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_hwmon_energy_joule_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;sensor&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;chip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Hardware monitor for joules used so far (input)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_hwmon_sensor_label&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;sensor&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;chip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;label&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Label for given chip and sensor&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_intr_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of interrupts serviced.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_ipvs_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of connections made.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_ipvs_incoming_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total amount of incoming data.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_ipvs_incoming_packets_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of incoming packets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_ipvs_outgoing_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total amount of outgoing data.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_ipvs_outgoing_packets_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of outgoing packets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_load1&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1m load average.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_load15&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;15m load average.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_load5&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;5m load average.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Active_anon_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Active_anon_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Active_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Active_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Active_file_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Active_file_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_AnonHugePages_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field AnonHugePages_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_AnonPages_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field AnonPages_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Bounce_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Bounce_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Buffers_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Buffers_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Cached_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Cached_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_CommitLimit_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field CommitLimit_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Committed_AS_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Committed_AS_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_DirectMap1G_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field DirectMap1G_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_DirectMap2M_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field DirectMap2M_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_DirectMap4k_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field DirectMap4k_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Dirty_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Dirty_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_FileHugePages_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field FileHugePages_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_FilePmdMapped_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field FilePmdMapped_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_HardwareCorrupted_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field HardwareCorrupted_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_HugePages_Free&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field HugePages_Free.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_HugePages_Rsvd&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field HugePages_Rsvd.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_HugePages_Surp&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field HugePages_Surp.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_HugePages_Total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field HugePages_Total.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Hugepagesize_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Hugepagesize_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Hugetlb_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Hugetlb_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Inactive_anon_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Inactive_anon_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Inactive_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Inactive_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Inactive_file_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Inactive_file_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_KReclaimable_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field KReclaimable_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_KernelStack_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field KernelStack_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Mapped_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Mapped_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_MemAvailable_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field MemAvailable_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_MemFree_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field MemFree_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_MemTotal_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field MemTotal_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Mlocked_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Mlocked_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_NFS_Unstable_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field NFS_Unstable_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_PageTables_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field PageTables_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Percpu_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Percpu_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_SReclaimable_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field SReclaimable_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_SUnreclaim_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field SUnreclaim_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_ShmemHugePages_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field ShmemHugePages_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_ShmemPmdMapped_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field ShmemPmdMapped_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Shmem_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Shmem_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Slab_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Slab_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_SwapCached_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field SwapCached_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_SwapFree_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field SwapFree_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_SwapTotal_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field SwapTotal_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Unevictable_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Unevictable_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_VmallocChunk_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field VmallocChunk_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_VmallocTotal_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field VmallocTotal_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_VmallocUsed_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field VmallocUsed_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_WritebackTmp_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field WritebackTmp_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_memory_Writeback_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Memory information field Writeback_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp6_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Icmp6InErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp6_InMsgs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Icmp6InMsgs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp6_OutMsgs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Icmp6OutMsgs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IcmpInErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp_InMsgs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IcmpInMsgs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Icmp_OutMsgs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IcmpOutMsgs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Ip6_InOctets&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Ip6InOctets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Ip6_OutOctets&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Ip6OutOctets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_IpExt_InOctets&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IpExtInOctets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_IpExt_OutOctets&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IpExtOutOctets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Ip_Forwarding&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic IpForwarding.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_ListenDrops&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtListenDrops.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_ListenOverflows&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtListenOverflows.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_SyncookiesFailed&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtSyncookiesFailed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_SyncookiesRecv&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtSyncookiesRecv.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_SyncookiesSent&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtSyncookiesSent.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_TCPSynRetrans&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtTCPSynRetrans.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_TcpExt_TCPTimeouts&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpExtTCPTimeouts.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_ActiveOpens&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpActiveOpens.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_CurrEstab&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpCurrEstab.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_InErrs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpInErrs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_InSegs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpInSegs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_OutRsts&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpOutRsts.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_OutSegs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpOutSegs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_PassiveOpens&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpPassiveOpens.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Tcp_RetransSegs&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic TcpRetransSegs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_InDatagrams&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6InDatagrams.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6InErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_NoPorts&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6NoPorts.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_OutDatagrams&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6OutDatagrams.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_RcvbufErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6RcvbufErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp6_SndbufErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic Udp6SndbufErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_UdpLite6_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpLite6InErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_UdpLite_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpLiteInErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_InDatagrams&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpInDatagrams.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_InErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpInErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_NoPorts&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpNoPorts.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_OutDatagrams&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpOutDatagrams.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_RcvbufErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpRcvbufErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_netstat_Udp_SndbufErrors&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Statistic UdpSndbufErrors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_address_assign_type&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: address_assign_type&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_carrier&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: carrier&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_carrier_changes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: carrier_changes_total&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_carrier_down_changes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: carrier_down_changes_total&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_carrier_up_changes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: carrier_up_changes_total&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_device_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: device_id&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_dormant&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: dormant&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_flags&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: flags&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_iface_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: iface_id&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_iface_link&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: iface_link&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_iface_link_mode&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: iface_link_mode&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;broadcast&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;operstate&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;adminstate&lt;/code&gt;, &lt;code&gt;duplex&lt;/code&gt;, &lt;code&gt;address&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Non-numeric data from /sys/class/net/&lt;iface&gt;, value is always 1.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_mtu_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: mtu_bytes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_name_assign_type&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: name_assign_type&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_net_dev_group&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: net_dev_group&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_protocol_type&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: protocol_type&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_compressed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_compressed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_drop_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_drop.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_errs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_errs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_fifo_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_fifo.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_frame_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_frame.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_multicast_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_multicast.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_nohandler_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_nohandler.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_receive_packets_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic receive_packets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_speed_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: speed_bytes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_carrier_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_carrier.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_colls_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_colls.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_compressed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_compressed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_drop_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_drop.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_errs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_errs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_fifo_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_fifo.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_packets_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device statistic transmit_packets.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_transmit_queue_length&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Network device property: transmit_queue_length&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_network_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value is 1 if operstate is &amp;lsquo;up&amp;rsquo;, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_entries&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of currently allocated flow entries for connection tracking.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_entries_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum size of connection tracking table.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_drop&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of packets dropped due to conntrack failure.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_early_drop&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of dropped conntrack entries to make room for new ones, if maximum table size was reached.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_found&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of searched entries which were successful.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_ignore&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of packets seen which are already connected to a conntrack entry.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_insert&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of entries inserted into the list.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_insert_failed&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of entries for which list insertion was attempted but failed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_invalid&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of packets seen which can not be tracked.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_nf_conntrack_stat_search_restart&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of conntrack table lookups which had to be restarted due to hashtable resizes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_os_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;id&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;version_id&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;pretty_name&lt;/code&gt;, &lt;code&gt;id_like&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A metric with a constant &amp;lsquo;1&amp;rsquo; value labeled by build_id, id, id_like, image_id, image_version, name, pretty_name, variant, variant_id, version, version_codename, version_id.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_os_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;id&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;id_like&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Metric containing the major.minor part of the OS version.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_max_processes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of max PIDs limit&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_max_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Limit of threads in the system&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_pids&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of PIDs&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of processes in each state.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Allocated threads in system&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_processes_threads_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;thread_state&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of threads in each state.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_procs_blocked&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of processes blocked waiting for I/O to complete.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_procs_running&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of processes in runnable state.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_schedstat_running_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds CPU spent running a process.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_schedstat_timeslices_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of timeslices executed by CPU.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_schedstat_waiting_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;cpu&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds spent by processing waiting for this CPU.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_scrape_collector_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;collector&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;node_exporter: Duration of a collector scrape.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_scrape_collector_success&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;collector&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;node_exporter: Whether a collector succeeded.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_selinux_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;SELinux is enabled, 1 is true, 0 is false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_FRAG6_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of FRAG6 sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_FRAG6_memory&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of FRAG6 sockets in state memory.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_FRAG_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of FRAG sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_FRAG_memory&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of FRAG sockets in state memory.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_RAW6_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of RAW6 sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_RAW_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of RAW sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP6_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP6 sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_alloc&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state alloc.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_mem&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state mem.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_mem_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state mem_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_orphan&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state orphan.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_TCP_tw&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of TCP sockets in state tw.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDP6_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDP6 sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDPLITE6_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDPLITE6 sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDPLITE_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDPLITE sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDP_inuse&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDP sockets in state inuse.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDP_mem&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDP sockets in state mem.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_UDP_mem_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of UDP sockets in state mem_bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_sockstat_sockets_used&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of IPv4 sockets in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_tcp_connection_states&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;state&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of connection states.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_textfile_scrape_error&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if there was an error opening or reading a file, 0 otherwise&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_time_clocksource_available_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;clocksource&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Available clocksources read from &amp;lsquo;/sys/devices/system/clocksource&amp;rsquo;.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_time_clocksource_current_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;device&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;clocksource&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current clocksource read from &amp;lsquo;/sys/devices/system/clocksource&amp;rsquo;.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;System time in seconds since epoch (1970).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_time_zone_offset_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;time_zone&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;System time zone offset in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_estimated_error_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Estimated error in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_frequency_adjustment_ratio&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Local clock frequency adjustment.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_loop_time_constant&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Phase-locked loop time constant.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_maxerror_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum error in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_offset_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Time offset in between local system and reference clock.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_calibration_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second count of calibration intervals.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_error_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second count of calibration errors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_frequency_hertz&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second frequency.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_jitter_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second jitter.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_jitter_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second count of jitter limit exceeded events.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_shift_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second interval duration.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_stability_exceeded_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second count of stability limit exceeded events.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_pps_stability_hertz&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Pulse per second stability, average of recent frequency changes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Value of the status array bits.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_sync_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Is clock synchronized to a reliable server (1 = yes, 0 = no).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_tai_offset_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;International Atomic Time (TAI) offset.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_timex_tick_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Seconds between clock ticks.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_udp_queues&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;queue&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;exported_ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of allocated memory in the kernel for UDP datagrams in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_uname_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;sysname&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;domainname&lt;/code&gt;, &lt;code&gt;release&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;nodename&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;machine&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Labeled system information as provided by the uname system call.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_oom_kill&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field oom_kill.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pgfault&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pgfault.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pgmajfault&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pgmajfault.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pgpgin&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pgpgin.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pgpgout&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pgpgout.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pswpin&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pswpin.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;node_vmstat_pswpout&lt;/td&gt;&#xA;      &lt;td&gt;unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;/proc/vmstat information field pswpout.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_cpu_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total user and system CPU time spent in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_max_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_open_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_resident_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Resident memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time of the process since unix epoch in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Virtual memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_max_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum amount of virtual memory available in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_remote_storage_exemplars_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Exemplars in to remote storage, compare to exemplars out for queue managers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_remote_storage_histograms_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;HistogramSamples in to remote storage, compare to histograms out for queue managers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_remote_storage_samples_in_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Samples in to remote storage, compare to samples out for queue managers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_remote_storage_string_interner_zero_reference_releases_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of times release has been called for strings that are not interned.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_azure_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of Azure service discovery refresh failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consul_rpc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The duration of a Consul RPC call in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consul_rpc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consul_rpc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consul_rpc_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of Consul RPC call failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consulagent_rpc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The duration of a Consul Agent RPC call in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consulagent_rpc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consulagent_rpc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;call&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_consulagent_rpc_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_dns_lookup_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of DNS-SD lookup failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_dns_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of DNS-SD lookups.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_file_read_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of File-SD read errors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_file_scan_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The duration of the File-SD scan in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_file_scan_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_file_scan_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_file_watcher_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of File-SD errors caused by filesystem watch failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_sd_kubernetes_events_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;event&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of Kubernetes events handled.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pool_exceeded_label_limits_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of times scrape pools hit the label limits, during sync or config reload.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pool_exceeded_target_limit_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of times scrape pools hit the target limit, during sync or config reload.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pool_reloads_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of failed scrape pool reloads.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pool_reloads_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrape pool reloads.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pools_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrape pool creations that failed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrape_pools_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrape pool creation attempts.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_cache_flush_forced_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;How many times a scrape cache was flushed due to getting big while scrapes are failing.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_exceeded_body_size_limit_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes that hit the body size limit&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_exceeded_sample_limit_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes that hit the sample limit and were rejected.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_exemplar_out_of_order_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of exemplar rejected due to not being out of the expected order.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_sample_duplicate_timestamp_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of samples rejected due to duplicate timestamps but different values.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_sample_out_of_bounds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of samples rejected due to timestamp falling outside of the time bounds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_target_scrapes_sample_out_of_order_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of samples rejected due to not being out of the expected order.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_template_text_expansion_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of template text expansion failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_template_text_expansions_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of template text expansions.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_treecache_watcher_goroutines&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The current number of watcher goroutines.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;prometheus_treecache_zookeeper_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of ZooKeeper failures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cause&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of internal errors encountered by the promhttp metric handler.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_in_flight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of scrapes being served.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes by HTTP status code.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;status_code&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ws&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;status_code&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ws&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;status_code&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ws&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_message_bytes_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_message_bytes_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;request_message_bytes_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;response_message_bytes_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;response_message_bytes_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;response_message_bytes_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;method&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_post_metric_relabeling&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_scraped&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_series_added&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;tcp_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;protocol&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of accepted TCP connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;tcp_connections_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;protocol&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The max number of TCP connections that can be accepted (0 means no limit).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/node/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/node/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;如何配置主机节点上的ntp服务&#34;&gt;如何配置主机节点上的NTP服务？&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;NTP 对于生产环境各项服务非常重要，如果没有配置 NTP，您可以使用公共 NTP 服务，或管理节点上的 Chronyd 作为标准时间。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/etcd/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/config/</guid>
        <description>&lt;p&gt;在部署 Etcd 之前，你需要在 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/config/&#34;&gt;配置清单&lt;/a&gt; 中定义一个 Etcd 集群，通常来说，你可以选择：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/config/#%e5%8d%95%e8%8a%82%e7%82%b9&#34;&gt;单节点&lt;/a&gt;：没有高可用性，适用于开发、测试、演示，或者依赖外部 S3 备份进行 PITR 的无高可用单机部署&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/config/#%e4%b8%89%e8%8a%82%e7%82%b9&#34;&gt;三节点&lt;/a&gt;：具有基本的高可用性，可以容忍一个节点的故障，适用于中小规模的生产环境&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/config/#%e4%ba%94%e8%8a%82%e7%82%b9&#34;&gt;五节点&lt;/a&gt;：具有更好的高可用性，可以容忍两个节点的故障，适用于大规模生产环境&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;偶数成员的 Etcd 集群在技术上有效，但不会比少一个成员的奇数集群提高故障容忍数，反而会增加部署与仲裁成本。&#xA;因此，生产环境通常采用单节点、三节点或五节点；超过五节点的集群并不常见。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/etcd/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/param/</guid>
        <description>&lt;p&gt;ETCD 模块的参数列表，共有 &lt;strong&gt;13&lt;/strong&gt; 个参数，分为两个部分：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/param/#etcd&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：10 个参数，用于 etcd 集群的部署与配置&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/param/#etcd_remove&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD_REMOVE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：3 个参数，控制 etcd 集群的移除&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-callout td-callout--note&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;架构变化：Pigsty v3.6+&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;自 Pigsty v3.6 起，&lt;code&gt;etcd.yml&lt;/code&gt; 剧本不再包含移除功能，移除相关参数已迁移至独立的 &lt;code&gt;etcd_remove&lt;/code&gt; 角色。v4.0 起默认启用 RBAC 认证，新增 &lt;code&gt;etcd_root_password&lt;/code&gt; 参数。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/etcd/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/admin/</guid>
        <description>&lt;p&gt;以下是一些常见的 etcd 管理任务 SOP（预案）：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e5%88%9b%e5%bb%ba%e9%9b%86%e7%be%a4&#34;&gt;创建集群&lt;/a&gt;：如何初始化 etcd 集群？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e9%94%80%e6%af%81%e9%9b%86%e7%be%a4&#34;&gt;销毁集群&lt;/a&gt;：如何销毁 etcd 集群？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f&#34;&gt;环境变量&lt;/a&gt;：如何配置 etcd 客户端，以访问 etcd 服务器集群？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#rbac-%e8%ae%a4%e8%af%81&#34;&gt;RBAC 认证&lt;/a&gt;：如何使用 etcd 的 RBAC 认证？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e9%87%8d%e8%bd%bd%e9%85%8d%e7%bd%ae&#34;&gt;重载配置&lt;/a&gt;：如何更新客户端使用的 etcd 服务器成员列表？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e6%b7%bb%e5%8a%a0%e6%88%90%e5%91%98&#34;&gt;添加成员&lt;/a&gt;：如何向现有 etcd 集群添加新成员？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e7%a7%bb%e9%99%a4%e6%88%90%e5%91%98&#34;&gt;移除成员&lt;/a&gt;：如何从 etcd 集群移除老成员？&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/admin/#%e4%be%bf%e6%8d%b7%e8%84%9a%e6%9c%ac&#34;&gt;便捷脚本&lt;/a&gt;：使用 &lt;code&gt;bin/etcd-add&lt;/code&gt; 和 &lt;code&gt;bin/etcd-rm&lt;/code&gt; 简化操作&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;更多问题请参考 &lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/faq/&#34;&gt;FAQ：ETCD&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/etcd/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/playbook/</guid>
        <description>&lt;p&gt;Etcd 模块提供了两个核心剧本：&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/playbook/#etcdyml&#34;&gt;&lt;code&gt;etcd.yml&lt;/code&gt;&lt;/a&gt; 用于安装与配置 Etcd 集群，&lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/playbook/#etcd-rmyml&#34;&gt;&lt;code&gt;etcd-rm.yml&lt;/code&gt;&lt;/a&gt; 用于移除 Etcd 集群或成员。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--note&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;架构变化：Pigsty v3.6+&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;自 Pigsty v3.6 起，&lt;code&gt;etcd.yml&lt;/code&gt; 剧本专注于集群安装和成员添加，所有移除操作已迁移至独立的 &lt;code&gt;etcd-rm.yml&lt;/code&gt; 剧本和 &lt;code&gt;etcd_remove&lt;/code&gt; 角色。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/etcd/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/monitor/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控面板&#34;&gt;监控面板&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ETCD 模块提供了一个监控面板：Etcd Overview。&lt;/p&gt;&#xA;&lt;h3 id=&#34;etcd-overview-dashboard&#34;&gt;ETCD Overview Dashboard&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://demo.pigsty.cc/d/etcd-overview&#34;&gt;ETCD Overview&lt;/a&gt;：ETCD 集群概览&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/etcd/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/metric/</guid>
        <description>&lt;p&gt;本页快照记录 &lt;a href=&#34;https://pgsty.pro/zh/docs/etcd/&#34;&gt;&lt;strong&gt;&lt;code&gt;ETCD&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块的 177 类监控指标；实际运行时的指标集合会随软件包版本、启用的采集器和目标状态变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Metric Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Labels&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd:ins:backend_commit_rt_p95_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd:ins:wal_fsync_rt_p95_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd:ins:network_peer_rt_p95_5m&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_cluster_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cluster_version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Which version is running. 1 for &amp;lsquo;cluster_version&amp;rsquo; label with current cluster version&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_auth_revision&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The current revision of auth store.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_rebalance_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_rebalance_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_spill_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_spill_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_write_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_write_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_disk_backend_commit_write_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_granted_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of granted leases.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_renewed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of renewed leases seen by the leader.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_revoked_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of revoked leases.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_ttl_total_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_ttl_total_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_lease_ttl_total_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_compact_revision&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The revision of the last compaction in store.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_current_revision&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The current revision of store.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_keys_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of db keys compacted.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_last&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The unix time of the last db compaction. Resets to 0 on start.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_events_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of events sent by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_keys_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of keys.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_pending_events_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of pending events to be sent.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_range_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of ranges seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_slow_watcher_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of unsynced slow watchers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_total_put_size_in_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total size of put kv pairs seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_watch_stream_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of watch streams.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_mvcc_watcher_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of watchers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_server_lease_expired_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of expired leases.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_store_expires_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of expired keys.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_store_reads_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of reads action by (get/getRecursive), local to this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_store_watch_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of incoming watch requests (new or reestablished).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_store_watchers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Count of currently active watchers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_store_writes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of writes (e.g. set/compareAndDelete) seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_commit_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_commit_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_commit_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_defrag_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_defrag_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_defrag_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_snapshot_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_snapshot_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_backend_snapshot_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_defrag_inflight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether or not defrag is active on the member. 1 means active, 0 means not.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_write_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes written in WAL.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_grpc_proxy_cache_hits_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of cache hits&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_grpc_proxy_cache_keys_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of keys/ranges cached&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_grpc_proxy_cache_misses_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of cache misses&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_grpc_proxy_events_coalescing_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of events coalescing&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_grpc_proxy_watchers_coalescing_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of current watchers coalescing&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_db_open_read_transactions&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of currently open read transactions&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_db_total_size_in_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total size of the underlying database physically allocated in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_db_total_size_in_use_in_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total size of the underlying database logically in use in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_delete_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of deletes seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_rev_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_rev_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_hash_rev_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_put_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of puts seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_range_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of ranges seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_mvcc_txn_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of txns seen by this member.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_active_peers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;Local&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;Remote&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The current number of active peer connections.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_client_grpc_received_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes received from grpc clients.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_client_grpc_sent_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes sent to grpc clients.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_peer_received_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;From&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes received from peers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_peer_round_trip_time_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_peer_round_trip_time_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_peer_round_trip_time_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_network_peer_sent_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of bytes sent to peers.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_apply_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;success&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;op&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_apply_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;success&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;op&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_apply_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;success&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;op&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_client_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;client_api_version&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of client requests per client version.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_go_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server_go_version&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Which Go version server is running with. 1 for &amp;lsquo;server_go_version&amp;rsquo; label with current version.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_has_leader&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether or not a leader exists. 1 is existence, 0 is not.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_health_failures&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of failed health checks&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_health_success&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of successful health checks&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_heartbeat_send_failures_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of leader heartbeat send failures (likely overloaded from slow disk).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;server_id&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Server or member ID in hexadecimal format. 1 for &amp;lsquo;server_id&amp;rsquo; label with current ID.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_is_leader&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether or not this member is a leader. 1 if is, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_is_learner&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether or not this member is a learner. 1 if is, 0 otherwise.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_leader_changes_seen_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of leader changes seen.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_learner_promote_successes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of successful learner promotions while this member is leader.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_proposals_applied_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of consensus proposals applied.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_proposals_committed_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of consensus proposals committed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_proposals_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of failed proposals seen.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_proposals_pending&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The current number of pending proposals to commit.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_quota_backend_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current backend storage quota size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_read_indexes_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of failed read indexes seen.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_slow_apply_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of slow apply requests (likely overloaded from slow disk).&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_slow_read_indexes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of pending read indexes not in sync with leader&amp;rsquo;s or timed out read index requests.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_snapshot_apply_in_progress_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;1 if the server is applying the incoming snapshot. 0 if none.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_server_version&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;server_version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Which version is running. 1 for &amp;lsquo;server_version&amp;rsquo; label with current version.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A summary of the pause duration of garbage collection cycles.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_goroutines&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of goroutines that currently exist.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Go environment.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes allocated, even if freed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_buck_hash_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used by the profiling bucket hash table.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_frees_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of frees.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_gc_cpu_fraction&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The fraction of this program&amp;rsquo;s available CPU time used by the GC since the program started.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_gc_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for garbage collection system metadata.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_idle_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes waiting to be used.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes that are in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_objects&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of allocated objects.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_released_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes released to OS.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_last_gc_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds since 1970 of last garbage collection.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of pointer lookups.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mallocs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of mallocs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mcache structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mcache structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mspan structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mspan structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_next_gc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes when next garbage collection will take place.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_other_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for other system allocations.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by the stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system for stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of OS threads created.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;grpc_server_handled_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;grpc_code&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;grpc_method&lt;/code&gt;, &lt;code&gt;grpc_type&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;grpc_service&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of RPCs completed on the server, regardless of success or failure.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;grpc_server_msg_received_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;grpc_type&lt;/code&gt;, &lt;code&gt;grpc_method&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;grpc_service&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of RPC stream messages received on the server.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;grpc_server_msg_sent_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;grpc_type&lt;/code&gt;, &lt;code&gt;grpc_method&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;grpc_service&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of gRPC stream messages sent by the server.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;grpc_server_started_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;grpc_type&lt;/code&gt;, &lt;code&gt;grpc_method&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;grpc_service&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of RPCs started on the server.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;os_fd_limit&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The file descriptor limit.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;os_fd_used&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of used file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_cpu_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total user and system CPU time spent in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_max_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_open_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_resident_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Resident memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time of the process since unix epoch in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Virtual memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_max_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum amount of virtual memory available in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_in_flight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of scrapes being served.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes by HTTP status code.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_post_metric_relabeling&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_scraped&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_series_added&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/etcd/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/etcd/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;etcd集群起什么作用&#34;&gt;etcd集群起什么作用？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;etcd 是一个分布式的、可靠的键-值存储，用于存放系统中最为关键的数据，Pigsty 使用 etcd 作为 Patroni 的 DCS（分布式配置存储）服务，用于存储 PostgreSQL 集群的高可用状态信息。&lt;/p&gt;</description>
      </item>
    <item>
        <title>使用方法</title>
        <link>https://pgsty.pro/zh/docs/minio/usage/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/usage/</guid>
        <description>&lt;p&gt;当您 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/&#34;&gt;配置&lt;/a&gt; 并执行 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/&#34;&gt;剧本&lt;/a&gt; 部署 Silo 后，可以参考本页通过 S3 与 &lt;code&gt;mcli&lt;/code&gt; 兼容接口使用它。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;部署集群&#34;&gt;部署集群&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;首先在 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/config/&#34;&gt;配置清单&lt;/a&gt; 中定义单机单盘对象存储集群，并显式锁定引擎：&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/minio/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/config/</guid>
        <description>&lt;p&gt;在部署 MINIO 模块之前，需要在 &lt;a href=&#34;https://pgsty.pro/zh/docs/setup/config/&#34;&gt;配置清单&lt;/a&gt; 中定义 Silo 对象存储集群。当前角色要求 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_type&#34;&gt;&lt;code&gt;minio_type: silo&lt;/code&gt;&lt;/a&gt;，支持以下清单部署模式：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/#%e5%8d%95%e6%9c%ba%e5%8d%95%e7%9b%98&#34;&gt;单机单盘：SNSD&lt;/a&gt;：单机单盘模式，可以使用任意目录作为数据盘，仅作为开发、测试、演示使用。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/#%e5%8d%95%e6%9c%ba%e5%a4%9a%e7%9b%98&#34;&gt;单机多盘：SNMD&lt;/a&gt;：折中模式，在单台服务器上使用多块磁盘 (&amp;gt;=2)，仅当资源极为有限时使用。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/#%e5%a4%9a%e6%9c%ba%e5%8d%95%e7%9b%98&#34;&gt;多机单盘：MNSD&lt;/a&gt;：多台服务器各使用一个独立数据盘，提供紧凑的节点级高可用能力。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/#%e5%a4%9a%e6%9c%ba%e5%a4%9a%e7%9b%98&#34;&gt;多机多盘：MNMD&lt;/a&gt;：多机多盘模式，标准生产环境部署，具有最好的可靠性，但需要多台服务器。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;SNSD 适合开发测试，三节点 MNSD 适合资源受限的紧凑高可用部署，MNMD 适合对容量、吞吐和磁盘冗余有更高要求的生产环境。SNMD 只解决单机内的磁盘故障，不能容忍整机故障。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/minio/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/param/</guid>
        <description>&lt;p&gt;MINIO 模块共有 &lt;strong&gt;22&lt;/strong&gt; 个公开参数，分为两个部分：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：19 个参数，用于部署 Silo 对象存储集群&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_remove&#34;&gt;&lt;strong&gt;&lt;code&gt;MINIO_REMOVE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：3 个参数，控制对象存储集群的移除&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-callout td-callout--note&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;架构变化：Pigsty v3.6+&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;自 Pigsty v3.6 起，&lt;code&gt;minio.yml&lt;/code&gt; 剧本不再包含移除功能，移除相关参数已迁移至独立的 &lt;code&gt;minio_remove&lt;/code&gt; 角色和 &lt;code&gt;minio-rm.yml&lt;/code&gt; 剧本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/minio/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/playbook/</guid>
        <description>&lt;p&gt;MINIO 模块提供两个内置剧本：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/#minioyml&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt;&lt;/a&gt;：安装并配置 Silo&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/#minio-rmyml&#34;&gt;&lt;code&gt;minio-rm.yml&lt;/code&gt;&lt;/a&gt;：移除 Silo、配置和可选数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;minioyml&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/minio.yml&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt;&lt;/a&gt; 以 &lt;code&gt;hosts: all&lt;/code&gt; 运行，但会在预任务阶段跳过没有定义 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_cluster&#34;&gt;&lt;code&gt;minio_cluster&lt;/code&gt;&lt;/a&gt; 的主机。进入角色后还会校验：&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/minio/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/admin/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;创建集群&#34;&gt;创建集群&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;要创建一个集群，在配置清单中定义好后，执行 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/playbook/#minioyml&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt;&lt;/a&gt; 剧本即可。&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-690f72d4-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-690f72d4-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;minio&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;10.10.10.10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;minio_seq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;1 } }, vars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;{&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;minio_cluster&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;minio, minio_type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;silo } }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;例如，上面的配置定义了一个 SNSD &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/config/#%e5%8d%95%e6%9c%ba%e5%8d%95%e7%9b%98&#34;&gt;单机单盘&lt;/a&gt; Silo 集群，使用以下命令即可创建所选对象存储集群：&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/minio/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/monitor/</guid>
        <description>&lt;h2 id=&#34;管理界面&#34;&gt;管理界面&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Silo 默认通过 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_admin_port&#34;&gt;&lt;code&gt;minio_admin_port&lt;/code&gt;&lt;/a&gt;（&lt;code&gt;9001&lt;/code&gt;）提供管理界面，可直接访问 &lt;code&gt;https://&amp;lt;node-ip&amp;gt;:9001&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;部分配置模板还会通过 &lt;code&gt;m.pigsty&lt;/code&gt; 暴露管理入口。登录凭证由 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_access_key&#34;&gt;&lt;code&gt;minio_access_key&lt;/code&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/minio/param/#minio_secret_key&#34;&gt;&lt;code&gt;minio_secret_key&lt;/code&gt;&lt;/a&gt; 指定。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--note&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;HTTPS 与证书信任&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;对象存储默认使用 Pigsty CA 签发的 HTTPS 证书。浏览器和容器客户端必须信任该 CA；生产环境不要以忽略证书校验代替正确配置证书信任。&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/minio/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/metric/</guid>
        <description>&lt;p&gt;MINIO 模块通过 &lt;code&gt;/minio/metrics/v3&lt;/code&gt; 采集 Silo 指标。指标集合会随服务端版本和实际启用功能变化，因此本页列出当前仪表盘与告警依赖的稳定接口，不把某个版本的完整抓取快照当作长期契约。&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/minio/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/minio/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;minio-模块默认部署哪个引擎&#34;&gt;MINIO 模块默认部署哪个引擎？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;v4.5.0 当前源码部署并且只部署 Silo，&lt;code&gt;minio_type&lt;/code&gt; 唯一合法值是 &lt;code&gt;silo&lt;/code&gt;。MINIO 是兼容模块名，不表示运行 MinIO 服务端。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/redis/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/config/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;概念&#34;&gt;概念&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Redis 的实体概念模型与 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/model/pgsql/#%e5%85%b7%e4%bd%93%e6%a0%b7%e4%be%8b&#34;&gt;PostgreSQL&lt;/a&gt; 几乎相同，同样包括 &lt;strong&gt;集群（Cluster）&lt;/strong&gt; 与 &lt;strong&gt;实例（Instance）&lt;/strong&gt; 的概念。注意这里的 Cluster 指的不是 Redis 原生集群方案中的集群。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/redis/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/param/</guid>
        <description>&lt;p&gt;REDIS 模块的参数列表，共有 &lt;strong&gt;22&lt;/strong&gt; 个参数，分为两个部分：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/param/#redis&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：19 个参数，用于 Redis/Valkey 集群的部署与配置&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/param/#redis_remove&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS_REMOVE&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;：3 个参数，控制 Redis 集群的移除&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-callout td-callout--note&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-info&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;架构变化：Pigsty v3.6+&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;自 Pigsty v3.6 起，&lt;code&gt;redis.yml&lt;/code&gt; 剧本不再包含移除功能，移除相关参数已迁移至独立的 &lt;code&gt;redis_remove&lt;/code&gt; 角色和 &lt;code&gt;redis-rm.yml&lt;/code&gt; 剧本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/redis/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/playbook/</guid>
        <description>&lt;p&gt;REDIS 模块提供了两个剧本，用于部署/移除 Redis 集群/节点/实例：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/playbook/#redisyml&#34;&gt;&lt;code&gt;redis.yml&lt;/code&gt;&lt;/a&gt;：部署 Redis 集群/节点/实例&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/redis/playbook/#redis-rmyml&#34;&gt;&lt;code&gt;redis-rm.yml&lt;/code&gt;&lt;/a&gt;：移除 Redis 集群/节点/实例&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;redisyml&#34;&gt;&lt;code&gt;redis.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;用于部署 Redis 的 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/redis.yml&#34;&gt;&lt;code&gt;redis.yml&lt;/code&gt;&lt;/a&gt; 剧本包含以下子任务：&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/redis/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/admin/</guid>
        <description>&lt;p&gt;以下是一些常见的 Redis 管理任务 SOP（预案）：&lt;/p&gt;&#xA;&lt;p&gt;REDIS 模块默认使用 &lt;code&gt;redis_type: redis&lt;/code&gt;；选择 &lt;code&gt;redis_type: valkey&lt;/code&gt; 时，服务端与客户端命令分别改为 &lt;code&gt;valkey-server&lt;/code&gt; / &lt;code&gt;valkey-cli&lt;/code&gt;。&#xA;本文命令行示例使用默认的 &lt;code&gt;redis-cli&lt;/code&gt;，Valkey 集群请替换为 &lt;code&gt;valkey-cli&lt;/code&gt;；剧本内部会自动选择正确的 CLI。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/redis/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/monitor/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控面板&#34;&gt;监控面板&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;REDIS 模块提供了 3 个监控面板&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Redis Overview：redis 集群概览&lt;/li&gt;&#xA;&lt;li&gt;Redis Cluster：redis 集群详情&lt;/li&gt;&#xA;&lt;li&gt;Redis Instance：redis 实例详情&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控&#34;&gt;监控&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty 提供了三个与 &lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/a&gt; 模块有关的监控仪表盘：&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/redis/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/metric/</guid>
        <description>&lt;p&gt;本页快照记录 &lt;a href=&#34;https://pgsty.pro/zh/docs/redis/&#34;&gt;&lt;strong&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块的 275 类监控指标；实际运行时的指标集合会随软件包版本、启用的采集器和目标状态变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Metric Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Labels&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;alertstate&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;ALERTS_FOR_STATE&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;level&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;alertname&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:aof_rewrite_time&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:blocked_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cmd_qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cmd_rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cmd_time&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:conn_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:conn_reject&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_sys&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_sys_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_usage_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_user&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:cpu_user_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:fork_time&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:key_evict&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:key_expire&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:key_hit&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:key_hit_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:key_miss&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:mem_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:mem_usage_max&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:mem_used&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:net_traffic&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:qps_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:qps_realtime&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:qps_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:rt_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:rt_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:rx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:size&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:cls:tx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:blocked_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:cmd_qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:cmd_rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:cmd_time&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:conn_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:conn_reject&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:cpu_usage_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:key_evict&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:key_expire&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:key_hit&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:key_hit_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:key_miss&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:net_traffic&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:qps_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:qps_realtime&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:qps_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:rt_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:rt_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:rx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:env:tx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:blocked_clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:clients&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cmd_qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cmd_rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cmd_time&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:conn_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:conn_reject&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_sys&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_sys_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_usage_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_user&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:cpu_user_child&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:key_evict&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:key_expire&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:key_hit&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:key_hit_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:key_miss&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:lsn_rate&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:mem_usage&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:net_traffic&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:qps_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:qps_realtime&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:qps_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:rt&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:rt_mu&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:rt_sigma&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:rx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:ins:tx&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:node:ip&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:node:mem_alloc&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:node:mem_total&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:node:mem_used&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis:node:qps&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_active_defrag_running&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;active_defrag_running metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_active_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_active_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_allocated_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_allocated_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_frag_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_frag_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_frag_ratio&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_frag_ratio metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_resident_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_resident_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_rss_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_rss_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_allocator_rss_ratio&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;allocator_rss_ratio metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_current_rewrite_duration_sec&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_current_rewrite_duration_sec metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_enabled metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_last_bgrewrite_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_last_bgrewrite_status metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_last_cow_size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_last_cow_size_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_last_rewrite_duration_sec&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_last_rewrite_duration_sec metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_last_write_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_last_write_status metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_rewrite_in_progress&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_rewrite_in_progress metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_aof_rewrite_scheduled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;aof_rewrite_scheduled metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_blocked_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;blocked_clients metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_client_recent_max_input_buffer_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;client_recent_max_input_buffer_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_client_recent_max_output_buffer_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;client_recent_max_output_buffer_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_clients_in_timeout_table&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;clients_in_timeout_table metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_connections&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_connections metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_current_epoch&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_current_epoch metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_enabled&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_enabled metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_known_nodes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_known_nodes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_messages_received_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_messages_received_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_messages_sent_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_messages_sent_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_my_epoch&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_my_epoch metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_size metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_slots_assigned&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_slots_assigned metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_slots_fail&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_slots_fail metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_slots_ok&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_slots_ok metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_slots_pfail&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_slots_pfail metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_state&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_state metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_meet_received&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_meet_received metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_meet_sent&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_meet_sent metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_ping_received&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_ping_received metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_ping_sent&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_ping_sent metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_pong_received&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_pong_received metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cluster_stats_messages_pong_sent&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cluster_stats_messages_pong_sent metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_duration_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total amount of time in seconds spent per command&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_failed_calls_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of errors prior command execution per command&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_latencies_usec_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_latencies_usec_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_latencies_usec_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_processed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;commands_processed_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_rejected_calls_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of errors within command execution per command&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_commands_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of calls per command&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_config_io_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;config_io_threads metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_config_maxclients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;config_maxclients metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_config_maxmemory&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;config_maxmemory metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_connected_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;connected_clients metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_connected_slave_lag_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;slave_ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;slave_state&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;slave_port&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Lag of connected slave&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_connected_slave_offset_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;slave_ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;slave_state&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;slave_port&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Offset of connected slave&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_connected_slaves&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;connected_slaves metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_connections_received_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;connections_received_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_sys_children_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_sys_children_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_sys_main_thread_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_sys_main_thread_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_sys_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_sys_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_user_children_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_user_children_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_user_main_thread_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_user_main_thread_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_cpu_user_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;cpu_user_seconds_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_db_keys&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;db&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of keys by DB&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_db_keys_expiring&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;db&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of expiring keys by DB&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_defrag_hits&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;defrag_hits metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_defrag_key_hits&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;defrag_key_hits metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_defrag_key_misses&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;defrag_key_misses metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_defrag_misses&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;defrag_misses metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_dump_payload_sanitizations&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;dump_payload_sanitizations metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;err&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of errors per error type&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_evicted_keys_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;evicted_keys_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_expired_keys_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;expired_keys_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_expired_stale_percentage&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;expired_stale_percentage metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_expired_time_cap_reached_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;expired_time_cap_reached_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_build_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;golang_version&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;commit_sha&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;build_date&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;redis exporter build_info&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_last_scrape_connect_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;exporter_last_scrape_connect_time_seconds metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_last_scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;exporter_last_scrape_duration_seconds metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_last_scrape_error&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The last scrape error status.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_scrape_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_scrape_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_exporter_scrapes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current total redis scrapes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_instance_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;os&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;run_id&lt;/code&gt;, &lt;code&gt;redis_version&lt;/code&gt;, &lt;code&gt;tcp_port&lt;/code&gt;, &lt;code&gt;process_id&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;redis_mode&lt;/code&gt;, &lt;code&gt;maxmemory_policy&lt;/code&gt;, &lt;code&gt;redis_build_id&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Redis instance&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_io_threaded_reads_processed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;io_threaded_reads_processed metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_io_threaded_writes_processed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;io_threaded_writes_processed metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_io_threads_active&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;io_threads_active metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_keyspace_hits_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;keyspace_hits_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_keyspace_misses_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;keyspace_misses_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_last_key_groups_scrape_duration_milliseconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Duration of the last key group metrics scrape in milliseconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_last_slow_execution_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The amount of time needed for last slow execution, in seconds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_latency_percentiles_usec&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A summary of latency percentile distribution per command&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_latency_percentiles_usec_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_latency_percentiles_usec_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;cmd&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_latest_fork_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;latest_fork_seconds metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_lazyfree_pending_objects&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;lazyfree_pending_objects metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_loading_dump_file&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;loading_dump_file metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_master_last_io_seconds_ago&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_host&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;master_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Master last io seconds ago&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_master_link_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_host&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;master_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Master link status on Redis slave&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_master_repl_offset&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;master_repl_offset metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_master_sync_in_progress&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_host&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;master_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Master sync in progress&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_mem_clients_normal&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;mem_clients_normal metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_mem_clients_slaves&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;mem_clients_slaves metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_mem_fragmentation_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;mem_fragmentation_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_mem_fragmentation_ratio&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;mem_fragmentation_ratio metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_mem_not_counted_for_eviction_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;mem_not_counted_for_eviction_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_max_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_max_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_dataset_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_dataset_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_lua_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_lua_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_overhead_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_overhead_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_peak_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_peak_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_rss_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_rss_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_scripts_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_scripts_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_memory_used_startup_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;memory_used_startup_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_migrate_cached_sockets_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;migrate_cached_sockets_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_module_fork_in_progress&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;module_fork_in_progress metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_module_fork_last_cow_size&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;module_fork_last_cow_size metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_net_input_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;net_input_bytes_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_net_output_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;net_output_bytes_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_number_of_cached_scripts&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;number_of_cached_scripts metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_process_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;process_id metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_pubsub_channels&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;pubsub_channels metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_pubsub_patterns&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;pubsub_patterns metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_pubsubshard_channels&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;pubsubshard_channels metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_bgsave_in_progress&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_bgsave_in_progress metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_changes_since_last_save&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_changes_since_last_save metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_current_bgsave_duration_sec&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_current_bgsave_duration_sec metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_last_bgsave_duration_sec&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_last_bgsave_duration_sec metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_last_bgsave_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_last_bgsave_status metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_last_cow_size_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_last_cow_size_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rdb_last_save_timestamp_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rdb_last_save_timestamp_seconds metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_rejected_connections_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;rejected_connections_total metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_repl_backlog_first_byte_offset&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;repl_backlog_first_byte_offset metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_repl_backlog_history_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;repl_backlog_history_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_repl_backlog_is_active&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;repl_backlog_is_active metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_replica_partial_resync_accepted&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica_partial_resync_accepted metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_replica_partial_resync_denied&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica_partial_resync_denied metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_replica_resyncs_full&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replica_resyncs_full metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_replication_backlog_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;replication_backlog_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_second_repl_offset&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;second_repl_offset metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_ckquorum_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;message&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Master ckquorum status&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_ok_sentinels&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of okay sentinels monitoring this master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_ok_slaves&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of okay slaves of the master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_sentinels&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of sentinels monitoring this master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_setting_ckquorum&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Show the current ckquorum config for each master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_setting_down_after_milliseconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Show the current down-after-milliseconds config for each master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_setting_failover_timeout&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Show the current failover-timeout config for each master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_setting_parallel_syncs&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Show the current parallel-syncs config for each master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_slaves&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of slaves of the master&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_master_status&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_status&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;master_address&lt;/code&gt;, &lt;code&gt;master_name&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Master status on Sentinel&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_masters&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of masters this sentinel is watching&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_running_scripts&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of scripts in execution right now&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_scripts_queue_length&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Queue of user scripts to execute&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_simulate_failure_flags&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Failures simulations&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_sentinel_tilt&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Sentinel is in TILT mode&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slave_expires_tracked_keys&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;slave_expires_tracked_keys metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slave_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_host&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;read_only&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;master_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Redis slave&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slave_priority&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;slave_priority metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slave_repl_offset&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;master_host&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;master_port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Slave replication offset&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slowlog_last_id&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Last id of slowlog&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_slowlog_length&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total slowlog&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time of the Redis instance since unix epoch in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_target_scrape_request_errors_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Errors in requests to the exporter&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_total_error_replies&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;total_error_replies metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_total_reads_processed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;total_reads_processed metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_total_system_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;total_system_memory_bytes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_total_writes_processed&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;total_writes_processed metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_tracking_clients&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;tracking_clients metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_tracking_total_items&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;tracking_total_items metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_tracking_total_keys&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;tracking_total_keys metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_tracking_total_prefixes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;tracking_total_prefixes metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_unexpected_error_replies&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;unexpected_error_replies metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_up&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Redis instance&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;redis_uptime_in_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;uptime_in_seconds metric&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_post_metric_relabeling&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_scraped&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_series_added&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/redis/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/redis/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;redis移除失败abort-due-to-redis_safeguard-enabled&#34;&gt;Redis移除失败：ABORT due to redis_safeguard enabled&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;这意味着正准备移除的 Redis 实例打开了防误删保险：当 &lt;a href=&#34;https://pgsty.pro/zh/docs/redis/param/#redis_safeguard&#34;&gt;&lt;code&gt;redis_safeguard&lt;/code&gt;&lt;/a&gt; 设置为 &lt;code&gt;true&lt;/code&gt; 时，&lt;code&gt;redis-rm.yml&lt;/code&gt; 会无条件拒绝执行。&#xA;该开关不会探测实例是否正在运行。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Grafana 高可用部署：使用 PostgreSQL 后端数据库</title>
        <link>https://pgsty.pro/zh/docs/infra/admin/grafana/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/infra/admin/grafana/</guid>
        <description>&lt;p&gt;您可以使用 PostgreSQL 作为 Grafana 后端使用的数据库。&lt;/p&gt;&#xA;&lt;p&gt;这是了解 Pigsty 部署系统使用方式的好机会，完成此教程，您会了解：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如何 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e5%88%9b%e5%bb%ba%e6%95%b0%e6%8d%ae%e5%ba%93%e9%9b%86%e7%be%a4&#34;&gt;创建新数据库集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何在已有数据库集群中 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e5%88%9b%e5%bb%bagrafana%e4%b8%9a%e5%8a%a1%e7%94%a8%e6%88%b7&#34;&gt;创建新业务用户&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何在已有数据库集群中 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e5%88%9b%e5%bb%bagrafana%e4%b8%9a%e5%8a%a1%e6%95%b0%e6%8d%ae%e5%ba%93&#34;&gt;创建新业务数据库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e4%bd%bf%e7%94%a8grafana%e4%b8%9a%e5%8a%a1%e6%95%b0%e6%8d%ae%e5%ba%93&#34;&gt;访问Pigsty所创建的数据库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e7%ae%a1%e7%90%86grafana%e7%9b%91%e6%8e%a7%e9%9d%a2%e6%9d%bf&#34;&gt;管理Grafana中的监控面板&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何管理 Grafana 中的 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e7%ae%a1%e7%90%86postgres%e6%95%b0%e6%8d%ae%e6%ba%90&#34;&gt;PostgreSQL数据源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;如何一步到位完成 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/admin/grafana/#%e4%b8%80%e6%ad%a5%e5%88%b0%e4%bd%8d%e6%9b%b4%e6%96%b0grafana&#34;&gt;Grafana数据库升级&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;太长不看&#34;&gt;太长不看&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-3944cdd8-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;9&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-3944cdd8-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi pigsty.yml &lt;span class=&#34;c1&#34;&gt;# 取消注释DB/User定义：dbuser_grafana  grafana &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-user  pg-meta  dbuser_grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bin/pgsql-db    pg-meta  grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql postgres://dbuser_grafana:DBUser.Grafana@meta:5436/grafana -c &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;CREATE TABLE t(); DROP TABLE t;&amp;#39;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 检查连接串可用性&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi /etc/grafana/grafana.ini &lt;span class=&#34;c1&#34;&gt;# 修改 [database] type url&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart grafana-server&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;创建数据库集群&#34;&gt;创建数据库集群&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;我们可以在 &lt;code&gt;pg-meta&lt;/code&gt; 上定义一个新的数据库 &lt;code&gt;grafana&lt;/code&gt;，也可以在新的机器节点上创建一个专用于 Grafana 的数据库集群：&lt;code&gt;pg-grafana&lt;/code&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>服务接入</title>
        <link>https://pgsty.pro/zh/docs/concept/ha/svc/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/concept/ha/svc/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;分离读写操作，正确路由流量，稳定可靠地交付 PostgreSQL 集群提供的能力。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/svc/#%e6%9c%8d%e5%8a%a1%e6%a6%82%e8%bf%b0&#34;&gt;服务&lt;/a&gt; 是一种抽象：它是数据库集群对外提供能力的形式，并封装了底层集群的细节。&lt;/p&gt;&#xA;&lt;p&gt;服务对于生产环境中的 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/svc/#%e6%8e%a5%e5%85%a5%e6%9c%8d%e5%8a%a1&#34;&gt;稳定接入&lt;/a&gt; 至关重要，在 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/&#34;&gt;高可用&lt;/a&gt; 集群自动故障时方显其价值，&lt;a href=&#34;https://pgsty.pro/zh/docs/concept/ha/svc/#%e5%8d%95%e6%9c%ba%e7%94%a8%e6%88%b7&#34;&gt;单机用户&lt;/a&gt; 通常不需要操心这个概念。&lt;/p&gt;</description>
      </item>
    <item>
        <title>使用方法</title>
        <link>https://pgsty.pro/zh/docs/docker/usage/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/docker/usage/</guid>
        <description>&lt;p&gt;Pigsty 内置了 &lt;a href=&#34;https://www.docker.com/&#34;&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/a&gt; 支持，您可以用它来快速部署容器化的应用软件。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;上手&#34;&gt;上手&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Docker 是一个 &lt;strong&gt;可选模块&lt;/strong&gt;。在 Pigsty 中，Docker 是否安装由节点上的 &lt;a href=&#34;https://pgsty.pro/zh/docs/docker/param/#docker_enabled&#34;&gt;&lt;code&gt;docker_enabled&lt;/code&gt;&lt;/a&gt; 控制，默认不启用。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/docker/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/docker/param/</guid>
        <description>&lt;p&gt;DOCKER 模块提供了 8 个配置参数。&lt;/p&gt;&#xA;&lt;h2 id=&#34;参数概览&#34;&gt;参数概览&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/strong&gt; 参数组用于 Docker 容器引擎的部署与配置，包括启用开关、数据目录、存储驱动、镜像加速以及监控。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/docker/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/docker/playbook/</guid>
        <description>&lt;p&gt;Docker 模块提供了一个默认的剧本 &lt;a href=&#34;https://pgsty.pro/zh/docs/docker/playbook/#dockeryml&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/a&gt;，用于安装 Docker Daemon 与 Docker Compose。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;dockeryml&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;剧本原始文件：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/docker.yml&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/a&gt; 中&lt;/p&gt;&#xA;&lt;p&gt;执行本剧本，将会在带有 &lt;code&gt;docker_enabled: true&lt;/code&gt; 标记的目标节点上安装 &lt;code&gt;docker-ce&lt;/code&gt; 与 &lt;code&gt;docker-compose-plugin&lt;/code&gt;，启用 &lt;code&gt;dockerd&lt;/code&gt; 服务&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标列表</title>
        <link>https://pgsty.pro/zh/docs/docker/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/docker/metric/</guid>
        <description>&lt;p&gt;本页快照记录 &lt;a href=&#34;https://pgsty.pro/zh/docs/docker/&#34;&gt;&lt;strong&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; 模块的 123 类监控指标；实际运行时的指标集合会随软件包版本、启用的采集器和目标状态变化。&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Metric Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Labels&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;builder_builds_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;reason&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of failed image builds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;builder_builds_triggered_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of triggered image builds&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;docker_up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_container_actions_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_container_actions_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_container_actions_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_container_states_containers&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The count of containers in various states&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_engine_cpus_cpus&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of cpus that the host system of the engine has&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_engine_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;architecture&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;os_version&lt;/code&gt;, &lt;code&gt;kernel&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;graphdriver&lt;/code&gt;, &lt;code&gt;os&lt;/code&gt;, &lt;code&gt;daemon_id&lt;/code&gt;, &lt;code&gt;commit&lt;/code&gt;, &lt;code&gt;os_type&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The information related to the engine and the OS it is running on&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_engine_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of bytes of memory that the host system of the engine has&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_events_subscribers_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of current subscribers to events&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_events_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of events logged&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_health_checks_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of failed health checks&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_health_check_start_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_health_check_start_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_health_check_start_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_health_checks_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The total number of health checks&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_host_info_functions_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_host_info_functions_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_host_info_functions_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_image_actions_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_image_actions_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_image_actions_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_network_actions_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_network_actions_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;engine_daemon_network_actions_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_marshalling_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_debugging_snap_save_total_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_disk_wal_write_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes written in WAL.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_db_save_total_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;etcd_snap_fsync_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;summary&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;quantile&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;A summary of the pause duration of garbage collection cycles.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_gc_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_goroutines&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of goroutines that currently exist.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_info&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Information about the Go environment.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes allocated, even if freed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_alloc_bytes_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of bytes allocated, even if freed.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_buck_hash_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used by the profiling bucket hash table.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_frees_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of frees.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_gc_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for garbage collection system metadata.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_alloc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes allocated and still in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_idle_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes waiting to be used.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes that are in use.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_objects&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of allocated objects.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_released_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes released to OS.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_heap_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_last_gc_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of seconds since 1970 of last garbage collection.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_lookups_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of pointer lookups.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mallocs_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of mallocs.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mcache structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mcache_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mcache structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by mspan structures.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_mspan_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for mspan structures obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_next_gc_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of heap bytes when next garbage collection will take place.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_other_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes used for other system allocations.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_inuse_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes in use by the stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_stack_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system for stack allocator.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_memstats_sys_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of bytes obtained from system.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;go_threads&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of OS threads created.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;logger_log_entries_size_greater_than_buffer_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of log entries which are larger than the log buffer&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;logger_log_read_operations_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of log reads from container stdio that failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;logger_log_write_operations_failed_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of log write operations that failed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_cpu_seconds_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total user and system CPU time spent in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_max_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_open_fds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Number of open file descriptors.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_resident_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Resident memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_start_time_seconds&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Start time of the process since unix epoch in seconds.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Virtual memory size in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;process_virtual_memory_max_bytes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum amount of virtual memory available in bytes.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_in_flight&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Current number of scrapes being served.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;promhttp_metric_handler_requests_total&lt;/td&gt;&#xA;      &lt;td&gt;counter&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Total number of scrapes by HTTP status code.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_duration_seconds&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_post_metric_relabeling&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_samples_scraped&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;scrape_series_added&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_dispatcher_scheduling_delay_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_dispatcher_scheduling_delay_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_dispatcher_scheduling_delay_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_configs_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of configs in the cluster object store&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_leader&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Indicates if this manager node is a leader&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_networks_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of networks in the cluster object store&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_nodes&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of nodes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_secrets_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of secrets in the cluster object store&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_services_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of services in the cluster object store&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_manager_tasks_total&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;The number of tasks in the cluster object store&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_node_manager&lt;/td&gt;&#xA;      &lt;td&gt;gauge&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether this node is a manager or not&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_snapshot_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_snapshot_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_snapshot_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_transaction_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_transaction_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_raft_transaction_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_batch_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_batch_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_batch_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_lookup_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_lookup_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_lookup_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_memory_store_lock_duration_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_memory_store_lock_duration_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_memory_store_lock_duration_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_read_tx_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_read_tx_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_read_tx_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_write_tx_latency_seconds_bucket&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;le&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_write_tx_latency_seconds_count&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;swarm_store_write_tx_latency_seconds_sum&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;up&lt;/td&gt;&#xA;      &lt;td&gt;Unknown&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;, &lt;code&gt;cls&lt;/code&gt;, &lt;code&gt;ins&lt;/code&gt;, &lt;code&gt;job&lt;/code&gt;, &lt;code&gt;instance&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;N/A&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/docker/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/docker/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;谁能执行docker命令&#34;&gt;谁能执行Docker命令？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;默认情况下，Pigsty 会将当前远程节点执行剧本的管理用户（即目标节点上 ssh 远程登陆的用户），以及参数 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/param/#node_admin_username&#34;&gt;&lt;code&gt;node_admin_username&lt;/code&gt;&lt;/a&gt; 中指定的管理用户加入到 Docker 操作系统用户组中。&#xA;在这个用户组（&lt;code&gt;docker&lt;/code&gt;）中的所有用户，可以使用 &lt;code&gt;docker&lt;/code&gt; CLI 命令对 Docker 发起管理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/juice/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/config/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;概念与实现&#34;&gt;概念与实现&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;JuiceFS 由 &lt;strong&gt;元数据引擎&lt;/strong&gt; 与 &lt;strong&gt;数据存储&lt;/strong&gt; 两部分组成。&#xA;当前版本中，&lt;code&gt;meta&lt;/code&gt; 会原样透传给 &lt;code&gt;juicefs&lt;/code&gt; 作为元数据引擎 URL，生产场景通常使用 PostgreSQL。&#xA;数据存储通过 &lt;code&gt;data&lt;/code&gt; 参数传入 &lt;code&gt;juicefs format&lt;/code&gt; 选项决定。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/juice/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/param/</guid>
        <description>&lt;p&gt;JUICE 模块参数共 &lt;strong&gt;2&lt;/strong&gt; 项：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/param/#juice_cache&#34;&gt;&lt;code&gt;juice_cache&lt;/code&gt;&lt;/a&gt;：共享缓存目录&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/param/#juice_instances&#34;&gt;&lt;code&gt;juice_instances&lt;/code&gt;&lt;/a&gt;：实例定义字典&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;参数概览&#34;&gt;参数概览&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;类型&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;级别&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/param/#juice_cache&#34;&gt;&lt;code&gt;juice_cache&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JuiceFS 共享缓存目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/param/#juice_instances&#34;&gt;&lt;code&gt;juice_instances&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;dict&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;I&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JuiceFS 实例定义字典（可为空）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;级别说明&lt;/strong&gt;：&lt;code&gt;C&lt;/code&gt; 为集群级别，&lt;code&gt;I&lt;/code&gt; 为实例级别。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/juice/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/playbook/</guid>
        <description>&lt;p&gt;JUICE 模块提供 &lt;code&gt;juice.yml&lt;/code&gt; 剧本，用于部署与移除 JuiceFS 实例。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;juiceyml&#34;&gt;&lt;code&gt;juice.yml&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/juice.yml&#34;&gt;&lt;code&gt;juice.yml&lt;/code&gt;&lt;/a&gt; 的任务结构如下：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-70204640-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;10&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-70204640-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_id        : 校验配置、检查端口冲突&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_install   : 安装 juicefs 软件包&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_cache     : 创建共享缓存目录&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_clean     : 移除实例（state&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;absent）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_instance  : 创建实例（state&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;create）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - juice_init  : 格式化文件系统（--no-update）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - juice_dir   : 创建挂载点目录&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - juice_config: 渲染环境文件与 systemd 服务单元&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - juice_launch: 启动服务并等待指标端口就绪&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;juice_register  : 注册到 VictoriaMetrics 目标文件&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;运行粒度&#34;&gt;运行粒度&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;粒度&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;限制参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;节点&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;-l &amp;lt;host&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;部署该节点所有实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;-l &amp;lt;host&amp;gt; -e fsname=&amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;只处理指定实例&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;示例：&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/juice/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/admin/</guid>
        <description>&lt;p&gt;常见运维场景如下：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e5%88%9d%e5%a7%8b%e5%8c%96%e5%ae%9e%e4%be%8b&#34;&gt;初始化实例&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e9%87%8d%e6%96%b0%e9%85%8d%e7%bd%ae&#34;&gt;重新配置&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e7%a7%bb%e9%99%a4%e5%ae%9e%e4%be%8b&#34;&gt;移除实例&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e6%b7%bb%e5%8a%a0%e6%96%b0%e5%ae%9e%e4%be%8b&#34;&gt;添加新实例&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e5%a4%9a%e8%8a%82%e7%82%b9%e5%85%b1%e4%ba%ab%e6%8c%82%e8%bd%bd&#34;&gt;多节点共享挂载&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#pitr-%e6%81%a2%e5%a4%8d&#34;&gt;PITR 恢复&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e6%95%85%e9%9a%9c%e6%8e%92%e6%9f%a5&#34;&gt;故障排查&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/juice/admin/#%e6%80%a7%e8%83%bd%e8%b0%83%e4%bc%98&#34;&gt;性能调优&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;更多问题参见 &lt;a href=&#34;https://pgsty.pro/zh/docs/juice/faq/&#34;&gt;FAQ&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;初始化实例&#34;&gt;初始化实例&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-6dc769a5-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-6dc769a5-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./juice.yml -l &amp;lt;host&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./juice.yml -l &amp;lt;host&amp;gt; -e &lt;span class=&#34;nv&#34;&gt;fsname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;name&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;初始化流程：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;安装 &lt;code&gt;juicefs&lt;/code&gt; 软件包&lt;/li&gt;&#xA;&lt;li&gt;创建共享缓存目录（默认 &lt;code&gt;/data/juice&lt;/code&gt;）&lt;/li&gt;&#xA;&lt;li&gt;执行 &lt;code&gt;juicefs format --no-update&lt;/code&gt;（仅首次创建有效）&lt;/li&gt;&#xA;&lt;li&gt;创建挂载点目录并设置权限&lt;/li&gt;&#xA;&lt;li&gt;渲染 systemd 单元与环境文件&lt;/li&gt;&#xA;&lt;li&gt;启动服务并等待指标端口就绪&lt;/li&gt;&#xA;&lt;li&gt;注册到 VictoriaMetrics（若存在 infra 节点）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;重新配置&#34;&gt;重新配置&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;修改配置后，建议执行以下命令（更新配置并确保服务在线）：&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/juice/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/monitor/</guid>
        <description>&lt;p&gt;JuiceFS 实例通过 &lt;code&gt;juicefs mount --metrics&lt;/code&gt; 暴露 Prometheus 指标。&#xA;在 JUICE 模块中，指标监听地址为 &lt;code&gt;0.0.0.0:&amp;lt;port&amp;gt;&lt;/code&gt;，默认端口 &lt;code&gt;9567&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;监控架构&#34;&gt;监控架构&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-c0113ce8-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-c0113ce8-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;JuiceFS Mount (metrics: 0.0.0.0:&amp;lt;port&amp;gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ↓&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VictoriaMetrics (scrape)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ↓&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Grafana Dashboard&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;若已部署 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/a&gt;，&lt;code&gt;juice_register&lt;/code&gt; 会自动写入抓取目标：&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/juice/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/juice/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;端口冲突怎么办&#34;&gt;端口冲突怎么办？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;同一节点上的多个实例必须使用不同的 &lt;code&gt;port&lt;/code&gt;。示例：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-df9468e5-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;9&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-df9468e5-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;juice_instances&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;fs1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/fs1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgres://...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;9567&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;fs2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/fs2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;postgres://...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;9568&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;为什么-data-变更不生效&#34;&gt;为什么 &lt;code&gt;data&lt;/code&gt; 变更不生效？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;data&lt;/code&gt; 仅用于 &lt;code&gt;juicefs format --no-update&lt;/code&gt;，文件系统创建后不会再更新。&#xA;如需切换后端，请手动迁移与重新格式化。&lt;/p&gt;</description>
      </item>
    <item>
        <title>功能配置</title>
        <link>https://pgsty.pro/zh/docs/vibe/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/config/</guid>
        <description>&lt;p&gt;VIBE 模块支持按需启用组件，并通过统一的工作目录和 Nginx 入口对外提供服务。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;配置概览&#34;&gt;配置概览&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;组件&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;启用参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;默认状态&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Code-Server&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code_enabled&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;启用&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;浏览器 VS Code&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JupyterLab&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;jupyter_enabled&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;禁用&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Notebook/终端/编辑器&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Node.js&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;nodejs_enabled&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;启用&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Node.js 运行时与 npm&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Claude Code&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;claude_enabled&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;启用&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;CLI 安装、配置与可观测性&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Codex CLI&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;codex_enabled&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;启用&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅安装 CLI，不托管配置&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;说明：模块默认 &lt;code&gt;jupyter_enabled: false&lt;/code&gt;，但 &lt;code&gt;conf/vibe.yml&lt;/code&gt; 预置模板会显式设置为 &lt;code&gt;true&lt;/code&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数列表</title>
        <link>https://pgsty.pro/zh/docs/vibe/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/param/</guid>
        <description>&lt;p&gt;VIBE 模块共有 &lt;strong&gt;18&lt;/strong&gt; 个参数，分为：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;通用参数&lt;/li&gt;&#xA;&lt;li&gt;Code-Server 参数&lt;/li&gt;&#xA;&lt;li&gt;JupyterLab 参数&lt;/li&gt;&#xA;&lt;li&gt;Node.js 参数&lt;/li&gt;&#xA;&lt;li&gt;Claude Code 参数&lt;/li&gt;&#xA;&lt;li&gt;Codex CLI 参数&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;参数概览&#34;&gt;参数概览&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;类型&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;级别&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;默认值&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#vibe_data&#34;&gt;&lt;code&gt;vibe_data&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/fs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;工作目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_enabled&#34;&gt;&lt;code&gt;code_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;启用 Code-Server&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_port&#34;&gt;&lt;code&gt;code_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;8443&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Code-Server 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_data&#34;&gt;&lt;code&gt;code_data&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/data/code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Code-Server 数据目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_password&#34;&gt;&lt;code&gt;code_password&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Vibe.Coding&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Code-Server 密码&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#code_gallery&#34;&gt;&lt;code&gt;code_gallery&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;enum&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;openvsx&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;扩展市场&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_enabled&#34;&gt;&lt;code&gt;jupyter_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;启用 JupyterLab&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_port&#34;&gt;&lt;code&gt;jupyter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JupyterLab 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_data&#34;&gt;&lt;code&gt;jupyter_data&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/data/jupyter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JupyterLab 数据目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_password&#34;&gt;&lt;code&gt;jupyter_password&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Vibe.Coding&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JupyterLab Token&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#jupyter_venv&#34;&gt;&lt;code&gt;jupyter_venv&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/data/venv&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Python venv 路径&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#nodejs_enabled&#34;&gt;&lt;code&gt;nodejs_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;启用 Node.js&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#nodejs_registry&#34;&gt;&lt;code&gt;nodejs_registry&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;url&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;&#39;&#39;&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;npm 镜像地址&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#npm_packages&#34;&gt;&lt;code&gt;npm_packages&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;string[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;额外全局 npm 包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#claude_enabled&#34;&gt;&lt;code&gt;claude_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;安装并配置 Claude Code&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#claude_package&#34;&gt;&lt;code&gt;claude_package&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Claude Code npm 包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#claude_env&#34;&gt;&lt;code&gt;claude_env&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;dict&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Claude 环境变量&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/vibe/param/#codex_enabled&#34;&gt;&lt;code&gt;codex_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;安装 Codex CLI&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;默认参数&#34;&gt;默认参数&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;定义于 &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/roles/vibe/defaults/main.yml&#34;&gt;&lt;code&gt;roles/vibe/defaults/main.yml&lt;/code&gt;&lt;/a&gt;：&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/vibe/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/playbook/</guid>
        <description>&lt;p&gt;VIBE 模块提供 &lt;code&gt;vibe.yml&lt;/code&gt; 剧本，用于部署 Code-Server、JupyterLab、Node.js、Claude Code 与 Codex CLI。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;vibe.yml&lt;/code&gt; 只包含 &lt;code&gt;node_id&lt;/code&gt; 与 &lt;code&gt;vibe&lt;/code&gt; 角色，不包含 &lt;code&gt;node/infra&lt;/code&gt;。&#xA;建议先执行 &lt;a href=&#34;https://pgsty.pro/zh/docs/deploy/&#34;&gt;&lt;code&gt;deploy.yml&lt;/code&gt;&lt;/a&gt; 或显式运行 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/playbook/&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt;&lt;/a&gt; 与 &lt;a href=&#34;https://pgsty.pro/zh/docs/infra/playbook/&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>管理预案</title>
        <link>https://pgsty.pro/zh/docs/vibe/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/admin/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;服务管理&#34;&gt;服务管理&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-7d31e1d2-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-7d31e1d2-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status code-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart code-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status jupyter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart jupyter&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;查看日志：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-7d31e1d2-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-7d31e1d2-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;journalctl -u code-server -f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;journalctl -u jupyter -f&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;工作目录与上下文&#34;&gt;工作目录与上下文&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;vibe_dir&lt;/code&gt; 会在 &lt;code&gt;vibe_data&lt;/code&gt; 下创建：&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/vibe/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/monitor/</guid>
        <description>&lt;p&gt;VIBE 的监控主要集中在 Claude Code 的 OpenTelemetry 数据。&#xA;Code-Server 与 JupyterLab 本身不暴露 Prometheus 指标，可通过 systemd 与日志进行健康检查。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;claude-code-可观测性&#34;&gt;Claude Code 可观测性&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;VIBE 在 &lt;code&gt;~/.claude/settings.json&lt;/code&gt; 中写入默认 OpenTelemetry 环境变量：&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/vibe/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/vibe/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;部署问题&#34;&gt;部署问题&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;code-server-软件包找不到&#34;&gt;code-server 软件包找不到&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;确认已部署 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/a&gt; 与仓库配置：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-d659a770-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-d659a770-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum repolist    &lt;span class=&#34;c1&#34;&gt;# EL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt update      &lt;span class=&#34;c1&#34;&gt;# Debian/Ubuntu&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./infra.yml -t repo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;jupyterlab-安装失败&#34;&gt;JupyterLab 安装失败&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;jupyter_venv&lt;/code&gt; 必须存在：&lt;/p&gt;</description>
      </item>
    <item>
        <title>快速上手</title>
        <link>https://pgsty.pro/zh/docs/kafka/start/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/start/</guid>
        <description>&lt;p&gt;本教程从一个最小单节点集群开始，完成 Topic 创建与消息读写；随后部署一套独立的三节点安全集群，配置应用用户、ACL、Quota 和生产 Topic；最后演示核心参数修改、客户端接入、监控验证与上线检查。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/kafka/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/config/</guid>
        <description>&lt;p&gt;KAFKA 模块使用 15 项持久公开参数表达集群意图，其余拓扑、监听器、存储子目录、复制安全、授权与 Exporter 放置由角色统一推导。首次部署建议先完成 &lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/start/&#34;&gt;快速上手&lt;/a&gt;；完整字段见 &lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/&#34;&gt;参数参考&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--warning&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-triangle-exclamation&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;先规划，后格式化&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;&lt;code&gt;kafka_seq&lt;/code&gt; 会写入 KRaft &lt;code&gt;node.id&lt;/code&gt;；新集群的随机 Cluster ID、初始 Controller Identity、安全模式与初始复制策略会写入 Bootstrap Manifest。存储格式化后，不要随意修改身份、安全模式或 Controller 集合。角色会验证现场与 Manifest 并在冲突时失败关闭，不会自动覆盖或重新格式化数据。&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数参考</title>
        <link>https://pgsty.pro/zh/docs/kafka/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/param/</guid>
        <description>&lt;p&gt;KAFKA 角色刻意只公开 15 项持久参数。拓扑、Listener、安全实现、存储子目录、复制安全与 Exporter 放置等细节由角色统一推导，不能作为额外持久变量覆盖。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;参数概览&#34;&gt;参数概览&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;层级&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;默认值&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;说明&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_cluster&#34;&gt;&lt;code&gt;kafka_cluster&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;必填&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Kafka 集群身份&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_seq&#34;&gt;&lt;code&gt;kafka_seq&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;必填&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;集群内唯一 KRaft &lt;code&gt;node.id&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_role&#34;&gt;&lt;code&gt;kafka_role&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;combined&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;combined&lt;/code&gt;、&lt;code&gt;broker&lt;/code&gt; 或 &lt;code&gt;controller&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_cluster_id&#34;&gt;&lt;code&gt;kafka_cluster_id&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;未设置&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;接管/恢复断言；新集群随机生成&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_data&#34;&gt;&lt;code&gt;kafka_data&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;/data/kafka&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;角色自有数据根目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_heap_opts&#34;&gt;&lt;code&gt;kafka_heap_opts&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;-Xms1G -Xmx1G&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Kafka JVM Heap&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_port&#34;&gt;&lt;code&gt;kafka_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;9092&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Broker/client 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_controller_port&#34;&gt;&lt;code&gt;kafka_controller_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;9093&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;KRaft Controller 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_rack&#34;&gt;&lt;code&gt;kafka_rack&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;未设置&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Broker 故障域标签&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_parameters&#34;&gt;&lt;code&gt;kafka_parameters&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群/实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;非角色自有 Broker 参数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_jmx_exporter_port&#34;&gt;&lt;code&gt;kafka_jmx_exporter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;9404&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;JMX Exporter HTTP 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_exporter_port&#34;&gt;&lt;code&gt;kafka_exporter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;实例&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;9308&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;协议 Exporter HTTP 端口&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_security&#34;&gt;&lt;code&gt;kafka_security&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;plaintext&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;plaintext&lt;/code&gt; 或生产 &lt;code&gt;scram&lt;/code&gt; 档位&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_users&#34;&gt;&lt;code&gt;kafka_users&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;用户凭据、ACL 与 Quota&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pgsty.pro/zh/docs/kafka/param/#kafka_topics&#34;&gt;&lt;code&gt;kafka_topics&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;集群&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;声明式 Topic&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;kafka_cluster&lt;/code&gt; 与 &lt;code&gt;kafka_seq&lt;/code&gt; 必须定义；&lt;code&gt;kafka_role&lt;/code&gt; 有真实默认值。集群角色要么全部省略，要么全部显式声明。&lt;/p&gt;</description>
      </item>
    <item>
        <title>日常管理</title>
        <link>https://pgsty.pro/zh/docs/kafka/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/admin/</guid>
        <description>&lt;p&gt;KAFKA 模块把 Kafka 安装在 &lt;code&gt;/opt/kafka&lt;/code&gt;，使用 Systemd 管理服务，并把持久意图保存在 &lt;code&gt;pigsty.yml&lt;/code&gt;。节点上的生成文件不应手工修改。&lt;/p&gt;&#xA;&lt;p&gt;以下 Kafka CLI 示例都使用角色生成的 &lt;code&gt;/etc/kafka/admin.properties&lt;/code&gt;。即使当前是 &lt;code&gt;plaintext&lt;/code&gt; 也建议始终保留 &lt;code&gt;--command-config&lt;/code&gt;：切换到 &lt;code&gt;scram&lt;/code&gt; 管理通道时命令结构不变。将 &lt;code&gt;&amp;lt;broker&amp;gt;:9092&lt;/code&gt; 替换为可达的 &lt;code&gt;inventory_hostname&lt;/code&gt; 与端口。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/kafka/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/playbook/</guid>
        <description>&lt;p&gt;KAFKA 模块提供两个剧本：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/kafka.yml&#34;&gt;&lt;code&gt;kafka.yml&lt;/code&gt;&lt;/a&gt; 用于部署 Apache Kafka 4.1+ 动态 KRaft 集群并收敛其安全、&#xA;资源与监控状态；&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/kafka-rm.yml&#34;&gt;&lt;code&gt;kafka-rm.yml&lt;/code&gt;&lt;/a&gt; 用于下线集群或移除成员。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--warning&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-triangle-exclamation&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;集群完整性约束&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;每个被选中的 &lt;code&gt;kafka_cluster&lt;/code&gt; 必须包含其全部成员：部分选择会在写入前失败；选择一个集群、多个完整集群或不加 &lt;code&gt;-l&lt;/code&gt; 裸跑全部集群都是允许的。先对完全相同的目标执行 &lt;code&gt;--check&lt;/code&gt;；真实运行前仍需人工核验备份/重建意图、容量、业务窗口、回退方案与变更批准。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/kafka/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/monitor/</guid>
        <description>&lt;p&gt;Pigsty 为 KAFKA 模块提供指标、日志、Dashboard 与告警一体化的可观测能力。监控同时覆盖 Kafka JVM 内部状态与 Kafka 协议视角，避免只看到进程存活而看不到 Partition、ISR 与 Consumer Lag，也避免只看到集群元数据而看不到 JVM、请求队列与 KRaft Controller 健康。&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标定义</title>
        <link>https://pgsty.pro/zh/docs/kafka/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/metric/</guid>
        <description>&lt;p&gt;KAFKA 模块使用两类指标源，都注册在同一 &lt;code&gt;job=kafka&lt;/code&gt; 采集任务下：JMX 目标（带 &lt;code&gt;role&lt;/code&gt; 标签）采集每个 JVM 的内部状态；协议 Exporter 目标（无 &lt;code&gt;role&lt;/code&gt; 标签）通过 Kafka 协议采集逻辑集群、Topic、Partition 与 Consumer Group 状态。协议 Exporter 只放在 &lt;code&gt;kafka_seq&lt;/code&gt; 最小的至多两个 Broker-capable 节点上，单 Broker 集群只运行一个。&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/kafka/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/kafka/faq/</guid>
        <description>&lt;h2 id=&#34;当前-kafka-模块是什么成熟度&#34;&gt;当前 KAFKA 模块是什么成熟度？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;当前角色已实现生产级 v1 基线：动态 KRaft、完整集群护栏、冷启动/修复、Broker 串行准入与 Controller 动态加入、成员退役（含死节点）、故障节点三步替换、严格滚动、TLS/SCRAM/ACL、Topic/User 声明式收敛、内部凭据/证书轮换以及完整监控链路。&lt;/p&gt;</description>
      </item>
    <item>
        <title>集群配置</title>
        <link>https://pgsty.pro/zh/docs/mysql/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/config/</guid>
        <description>&lt;p&gt;MYSQL 模块通过清单（Inventory）声明集群，&lt;code&gt;mysql.yml&lt;/code&gt; 将现场收敛到声明状态。本页介绍拓扑规划与全部配置项的写法；参数细节见 &lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/param/&#34;&gt;参数参考&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;部署前检查&#34;&gt;部署前检查&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;目标节点已完成 &lt;a href=&#34;https://pgsty.pro/zh/docs/node/&#34;&gt;&lt;code&gt;NODE&lt;/code&gt;&lt;/a&gt; 纳管，共享 CA 已安装到 &lt;code&gt;/etc/pki/ca.crt&lt;/code&gt;（由 &lt;code&gt;node_ca&lt;/code&gt; 负责，MySQL 角色只签发叶证书）；&lt;/li&gt;&#xA;&lt;li&gt;软件仓库包含 &lt;code&gt;mysql&lt;/code&gt; 模块：&lt;code&gt;node_repo_modules: node,infra,mysql&lt;/code&gt;，或本地仓库已缓存 &lt;code&gt;repo_extra_packages: [mysql]&lt;/code&gt;；&lt;/li&gt;&#xA;&lt;li&gt;平台在支持矩阵内：&lt;code&gt;x86_64&lt;/code&gt; 的 EL 8/9/10、Debian 12/13、Ubuntu 22/24，或 &lt;code&gt;aarch64&lt;/code&gt; 的 EL 9/10；&lt;/li&gt;&#xA;&lt;li&gt;三个平台密码（&lt;code&gt;mysql_root_password&lt;/code&gt;、&lt;code&gt;mysql_monitor_password&lt;/code&gt;、&lt;code&gt;mysql_cluster_password&lt;/code&gt;）已改为生产值——预检会拒绝 &lt;code&gt;CHANGE_ME&lt;/code&gt; 开头的占位密码。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;身份参数&#34;&gt;身份参数&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;每套集群由清单分组声明，两个身份参数必填：&lt;/p&gt;</description>
      </item>
    <item>
        <title>参数参考</title>
        <link>https://pgsty.pro/zh/docs/mysql/param/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/param/</guid>
        <description>&lt;p&gt;MYSQL 部署角色刻意只公开 11 项参数，移除角色另有 2 项受保护运维参数。软件版本、端口、目录、字符集、TLS 路径与定时器表达式由角色统一固定，内存基线按节点规格推导；需要调整服务器行为时使用 &lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/param/#mysql_parameters&#34;&gt;&lt;code&gt;mysql_parameters&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>日常管理</title>
        <link>https://pgsty.pro/zh/docs/mysql/admin/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/admin/</guid>
        <description>&lt;p&gt;本页覆盖 MYSQL 模块的日常运维操作。总原则：&lt;strong&gt;声明状态改清单，收敛现场跑剧本&lt;/strong&gt;——成员掉线、AdminAPI 状态漂移等多数异常，重跑一次 &lt;code&gt;./mysql.yml -l &amp;lt;集群&amp;gt;&lt;/code&gt; 即可自愈；只有三类破坏性场景（替换成员、恢复备份、完全停机恢复）需要按本页手册人工介入。&lt;/p&gt;</description>
      </item>
    <item>
        <title>预置剧本</title>
        <link>https://pgsty.pro/zh/docs/mysql/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/playbook/</guid>
        <description>&lt;p&gt;MYSQL 模块提供两个剧本：&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/mysql.yml&#34;&gt;&lt;code&gt;mysql.yml&lt;/code&gt;&lt;/a&gt; 负责部署与收敛，&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/main/mysql-rm.yml&#34;&gt;&lt;code&gt;mysql-rm.yml&lt;/code&gt;&lt;/a&gt; 负责受保护的退役与下线。前者重复执行会向声明状态收敛；后者是独立的生命周期操作，每次真实执行前都必须重新核对范围、备份与精确确认值。&lt;/p&gt;</description>
      </item>
    <item>
        <title>监控告警</title>
        <link>https://pgsty.pro/zh/docs/mysql/monitor/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/monitor/</guid>
        <description>&lt;p&gt;MYSQL 模块复用 Pigsty 的可观测性基座：指标经 mysqld_exporter 进入 VictoriaMetrics，错误日志经 Journald/Vector 进入 VictoriaLogs，Grafana 提供 5 个预置 Dashboard，vmalert 加载 68 条衍生规则与 27 条告警规则。&lt;/p&gt;</description>
      </item>
    <item>
        <title>指标定义</title>
        <link>https://pgsty.pro/zh/docs/mysql/metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/metric/</guid>
        <description>&lt;p&gt;MYSQL 模块的指标来自 &lt;code&gt;mysqld_exporter&lt;/code&gt;（原始指标，&lt;code&gt;mysql_&lt;/code&gt; 前缀）与 vmalert 衍生规则（&lt;code&gt;mysql:ins:*&lt;/code&gt; / &lt;code&gt;mysql:cls:*&lt;/code&gt;）。Dashboard 与告警优先建立在衍生指标之上，本页是衍生指标的完整字典。&lt;/p&gt;</description>
      </item>
    <item>
        <title>常见问题</title>
        <link>https://pgsty.pro/zh/docs/mysql/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/docs/mysql/faq/</guid>
        <description>&lt;h2 id=&#34;当前-mysql-模块是什么成熟度&#34;&gt;当前 MYSQL 模块是什么成熟度？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pilot 试点模块，定位「简单、廉价、够用」的 MySQL 集群。部署收敛、高可用切换、每日备份、监控告警四大核心能力经过系统性实测（含故障注入与完全停机演练）；恢复类破坏性流程刻意保留为手工操作并配有 &lt;a href=&#34;https://pgsty.pro/zh/docs/mysql/admin/&#34;&gt;操作手册&lt;/a&gt;。不追求与 PGSQL 模块同级的完备度：没有 PITR、没有接入层 VIP/DNS、没有自动扩缩容。用于严肃生产环境前，请按业务要求验证并演练恢复流程。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.5.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.5.0/</link>
        <pubDate>Sat, 15 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.5.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-08-15&#34;&gt;2026-08-15&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.5.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.5.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.5.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Pigsty v4.5.0 是一个以新试点模块、可替换数据服务、集群身份编排、可观测性和软件供应链为重点的功能版本。&#xA;它引入 Kafka KRaft 与 MySQL 8.4 模块，为 REDIS 增加 Valkey 引擎，将 MINIO 模块收敛到 Silo，并把已打包扩展目录从 531 个推进到 575 个。&#xA;已提交的完整源码差异见 &lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v4.4.0...61f62e6e48129b88d0529bf6ebcffc039656415f&#34;&gt;&lt;code&gt;v4.4.0...61f62e6e&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.4.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.4.0/</link>
        <pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.4.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-07-10&#34;&gt;2026-07-10&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Pigsty v4.4.0 是一个维护版本，重点涵盖 PostgreSQL 18.4、PostgreSQL 19 beta 试用支持、531 个扩展、内核变体更新与更广泛的平台覆盖。&lt;/p&gt;&#xA;&lt;p&gt;发布于 &lt;strong&gt;2026-07-10&lt;/strong&gt;。参见 &lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.4.0&#34;&gt;GitHub 发布页面&lt;/a&gt; 与 &lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v4.3.0...v4.4.0&#34;&gt;v4.3.0 以来的完整变更&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.3.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.3.0/</link>
        <pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.3.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-05-01&#34;&gt;2026-05-01&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.3.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.3.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.3.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点&#34;&gt;亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增约 50 个 PostgreSQL 扩展，总可用数量达到 510 个&lt;/li&gt;&#xA;&lt;li&gt;支持 Ubuntu 26.04 x86_64/arm64 新架构，弃用 Ubuntu 20.04 支持；小版本更新至 Debian 13.4 / Ubuntu 24.04.4&lt;/li&gt;&#xA;&lt;li&gt;内核更新：Supabase 更新至最新版本，pgEdge 更新至 PG 18，PolarDB 更新至 PG 17&lt;/li&gt;&#xA;&lt;li&gt;Grafana 更新至 13.0.1，MinIO 使用修复 CVE 后的 pgsty 分支。&lt;/li&gt;&#xA;&lt;li&gt;vagrant 模板统一切换至 cloud-image 系列镜像。&lt;/li&gt;&#xA;&lt;li&gt;新增应用模板：immich, jumpserver&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 用户名校验放宽，允许 &lt;code&gt;@.-&lt;/code&gt; 几个字符出现在用户名中。&lt;/li&gt;&#xA;&lt;li&gt;修复 IPv6 nameserver 解析，避免 DNS 配置只匹配提取 IPv4 的旧 DNS Server。&lt;/li&gt;&#xA;&lt;li&gt;VictoriaTraces Grafana 数据源路径改为 &lt;code&gt;/select/jaeger&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;Vagrant 磁盘探测更稳健，新增 EL vagrant 镜像 guest 网络修复脚本 bin/el-fix。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgresql-与扩展包变更汇总&#34;&gt;PostgreSQL 与扩展包变更汇总&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;stretch-last&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;包名&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;备注&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;block_copy_command&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;cloudberry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;内核包组；RPM release 2 修复 initdb errno 问题&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;cloudberry-backup&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 Cloudberry 备份工具包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;cloudberry-pxf&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 Cloudberry PXF 包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;credcheck&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 14-18；PGDG&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;datasketches&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.7.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ddl_historization&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;documentdb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.109&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.110&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级到上游版本；PG 15-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;external_file&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;logical_ddl&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;nominatim_fdw&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;onesparse&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；仅 PG 18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;orioledb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;beta15 1.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;beta15 1.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;配套 OriolePG 17.18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;oriolepg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.16&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.18&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;内核补丁集更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;parray_gin&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_accumulator&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_anon&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.13&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_background&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.8&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.9.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅 DEB&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_bikram_sambat&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；Bikram Sambat 日期类型与 AD/BS 转换函数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_byteamagic&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_cardano&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_clickhouse&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_datasentinel&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 15-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_dbms_job&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 14-18；PGDG&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_dispatch&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_failover_slots&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_fsql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_incremental&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_isok&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_ivm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.13&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.14&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_kazsearch&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 16-18；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_liquid&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_pathcheck&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.9.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 17-18；需 shared_preload_libraries&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_query_rewrite&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_regresql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_rrf&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-17；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_savior&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；高风险 DDL/DML 防护 hook；需 preload 或 LOAD&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_search&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.22.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.23.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 15-18；pgrx 0.18.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_slug_gen&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 15-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_stat_ch&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；PG 16-18；EL8 break&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_store_plans&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_strict&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_text_semver&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_textsearch&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 17-18；需 shared_preload_libraries&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_trickle&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.40.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；仅 PG 18；pgrx 0.18.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_tzf&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_vectorize&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_variables&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_when&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgxicor&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgcalendar&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgclone&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgelog&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pglinter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pglock&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgmq&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgmqtt&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgproto&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；原生 Protobuf 支持&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pghydro&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;6.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgx_ulid&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.2.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;plv8&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.2.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.2.4-2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅 RPM；EL10 构建修复&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;PolarDB&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;15.15&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.9.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PG 15 -&amp;gt; 17&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgresbson&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgis&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅 DEB&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;prefix&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.11&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；PG 14-18；PGDG&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;provsql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rdf_fdw&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rdkit&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;202503.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;re2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 16-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;storage_engine&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增后升级；PG 14-18；列式与行压缩表访问方法&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;supautils&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.2.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;system_stats&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;timescaledb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.25.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.26.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；TSL 小版本更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ulak&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增；PG 14-18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;wrappers&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.6.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;升级；Rust/pgrx 0.16.1 -&amp;gt; 0.17.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;包名&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;备注&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;alertmanager&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.31.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.32.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;agentsview&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.15.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;claude&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.81&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.123&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;通过 8118 代理下载并核验&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.112.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.118.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code-server&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.112.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.117.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;codex&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.116.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.125.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;从预发布链收敛到稳定版后继续升级&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;crush&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.51.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.64.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;dblab&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.34.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.38.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;duckdb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;统一软件包版本&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;garage&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.3.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;genai-toolbox&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.27.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;上游已更名为 mcp-toolbox&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;golang&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.26.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.26.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;13.0.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;主版本升级后继续刷新元数据&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-infinity-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.8.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-plugins&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.3.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;13.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Noarch 插件包，手工归集&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-victoriametrics-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.23.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.24.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;hugo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.158.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.161.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;maddy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.8.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.9.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mcli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260321000000&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260417000000&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgsty 分支，修复 cve&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;minio&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260325000000&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260417000000&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgsty 分支，修复 cve&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mongodb_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.49.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.50.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;node_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;nodejs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;24.14.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;24.15.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;维持在 24.x 策略线&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;npgsqlrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.12.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;opencode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.27&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.14.30&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;改为版本化缓存并重新构建&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgflo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.15&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;已移除&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgschema&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.7.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.9.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅更新元信息&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;prometheus&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.11.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rainfrog&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.17&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.18&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rclone&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rustfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-alpha.89&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-b1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;预发布版本线&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sabiql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.8.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;seaweedfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.17&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.22&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sqlcmd&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.9.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;stalwart&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.15.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tigerbeetle&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.77&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.17.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tigerfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.6.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;timescaledb-tools&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.18.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.19.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;重新构建 timescaledb-tune&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.11.8&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-logs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.50.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;主包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.142.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics-cluster&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.142.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VictoriaMetrics 配套组件&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-traces&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.8.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.8.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vip-manager&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlagent&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.50.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VictoriaLogs 配套组件&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlogscli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.50.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VictoriaLogs 配套组件&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vmutils&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.142.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;VictoriaMetrics 配套组件&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.54.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.55.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;直链元数据更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;v2ray&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.47.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;xray&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;26.2.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;26.3.27&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-85dbaf31-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;15&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-85dbaf31-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;58a914fce7bc521b65e167f66e7961a3  pigsty-v4.3.0.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9ce070efb0420057a83c632b2856d1b3  pigsty-pkg-v4.3.0.d12.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bf21c36d3aff94a1a6353130597ffa85  pigsty-pkg-v4.3.0.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;81b4790c4e5567cee9d1beadd06e48e6  pigsty-pkg-v4.3.0.d13.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;06baab9341ab683eaeea2e066b28a0f4  pigsty-pkg-v4.3.0.d13.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fb4bf751df5e09f547c49b8ab7cac9a0  pigsty-pkg-v4.3.0.el10.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;a3e752c8148122d1eaea74a6d8d8df0d  pigsty-pkg-v4.3.0.el10.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cb2a9af36615513e66fd5ac3e9f4d797  pigsty-pkg-v4.3.0.el9.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;e24641a879dec7a8eea74dab42f85920  pigsty-pkg-v4.3.0.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;6b675fd8d9e039193481f0838aa4b92c  pigsty-pkg-v4.3.0.u22.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c0e344ccb9d190a619591e5d46116424  pigsty-pkg-v4.3.0.u22.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3e0ec9534cf595201ec79eb1fc6549d8  pigsty-pkg-v4.3.0.u24.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0a3d19513eca9615bdd66a4b2bf66f1d  pigsty-pkg-v4.3.0.u24.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;683a10ff8fd993358d6befa9f4e02913  pigsty-pkg-v4.3.0.u26.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fd1ea5cd5554bfe91fadd51ad80860e3  pigsty-pkg-v4.3.0.u26.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.3.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v4.3/&#34;&gt;Pigsty v4.3 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v430&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v4.2.2...v4.3.0&#34;&gt;源码对比：&lt;code&gt;v4.2.2...v4.3.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.2.2</title>
        <link>https://pgsty.pro/zh/blog/release/4.2.2/</link>
        <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.2.2/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.2.2&lt;/strong&gt; · &lt;time datetime=&#34;2026-03-23&#34;&gt;2026-03-23&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.2.2&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.2.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.2.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Insforge 2.0.1 自建模板&lt;/li&gt;&#xA;&lt;li&gt;Infra 软件包批量更新，MinIO/MCLI 更新至 20260321&lt;/li&gt;&#xA;&lt;li&gt;新增 infra 软件包：tigerfs, pgstream, sql-studio, rainfog, crush&lt;/li&gt;&#xA;&lt;li&gt;更新 PG 工具：数据恢复 pdu，连接池 pgdog&lt;/li&gt;&#xA;&lt;li&gt;更新 PG 扩展：pg_search, pgsentinel, pg_track_optimizer, pgcollection, pg_ttl_index, pg_clickhouse&lt;/li&gt;&#xA;&lt;li&gt;更新 PG 内核：IvorySQL 5.1 -&amp;gt; 5.3&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgresql-软件包更新&#34;&gt;PostgreSQL 软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;包名&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;备注&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_search&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.22.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgsentinel&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅更新 rpm&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_track_optimizer&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.9.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.9.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgcollection&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_ttl_index&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_clickhouse&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pdu&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.25.12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgdog&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.32&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;名称&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;备注&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.4.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.4.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgbackrest_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.22.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.23.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;redis_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.81.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.82.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-logs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlagent&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlogscli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.48.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-traces&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.7.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.8.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;duckdb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_timetable&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;6.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;6.3.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgschema&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.7.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgstream&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tigerbeetle&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.75&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.77&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-victorialogs-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-infinity-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;caddy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.11.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;npgsqlrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.11.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;opencode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.17&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.27&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pev2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.20.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.21.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;golang&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.26.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.26.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vector&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.53.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.54.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rclone&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code-server&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.109.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.112.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.109.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.112.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;seaweedfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.15&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.17&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.8&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;codex&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.110.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.116.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;v2ray&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.44.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.47.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sabiql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.6.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.8.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sql-studio&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.1.51&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rainfrog&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.17&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;agentsview&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.15.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;crush&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.51.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tigerfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.137.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics-cluster&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.137.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vmutils&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.137.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.138.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;hugo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.157.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.158.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rustfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-alpha.85&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-alpha.89&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mysqld_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.18.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.19.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;minio&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260214&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260321&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mcli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260213&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;20260321&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;claude&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.68&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.81&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ivroysql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-7d0f5014-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;13&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-7d0f5014-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0d9f907ff626203578c687d1418b38ba  pigsty-pkg-v4.2.2.d12.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4129baf773c3005f4d697cf452f927a0  pigsty-pkg-v4.2.2.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;40d5a0d9c2a97615bf0421bae42458ae  pigsty-pkg-v4.2.2.d13.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cf91113a2296ad11fff79802ac9b1483  pigsty-pkg-v4.2.2.d13.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dbccfeb3978ffb928bd0b501c3c0d42d  pigsty-pkg-v4.2.2.el10.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8c848a4e3fa93c2455285fbcad5ddd78  pigsty-pkg-v4.2.2.el10.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7c15c9a36f7d2dd740019c20e8c75a4b  pigsty-pkg-v4.2.2.el9.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7d6e9e529236a0db2382f42660790ed9  pigsty-pkg-v4.2.2.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8f64bb14885ce330603172b186062671  pigsty-pkg-v4.2.2.u22.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;16d4c36c9e1ff848848c34a257b1025c  pigsty-pkg-v4.2.2.u22.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;401230741af5b04f163ffc8e688315ab  pigsty-pkg-v4.2.2.u24.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;5312aa0841694fc560778b9377a32c89  pigsty-pkg-v4.2.2.u24.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cabeeb898b56b26c0855f33d5e60411a  pigsty-v4.2.2.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.2.2&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v4.2/&#34;&gt;Pigsty v4.2 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v422&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v4.2.1...v4.2.2&#34;&gt;源码对比：&lt;code&gt;v4.2.1...v4.2.2&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.2.1</title>
        <link>https://pgsty.pro/zh/blog/release/4.2.1/</link>
        <pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.2.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.2.1&lt;/strong&gt; · &lt;time datetime=&#34;2026-03-06&#34;&gt;2026-03-06&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.2.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;这是一个维护版本，新增了 3 个扩展插件，&lt;/p&gt;&#xA;&lt;h2 id=&#34;主要变更&#34;&gt;主要变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;新增扩展&lt;/strong&gt;：&lt;code&gt;pg_eviltransform&lt;/code&gt; 加入 GIS 包组，&lt;code&gt;pg_pinyin&lt;/code&gt; 加入 FTS 包组，&lt;code&gt;pg_qos&lt;/code&gt; 加入 Admin 包组 —— 均支持 PG 14–18。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;移除 PG13&lt;/strong&gt;：所有平台变体（EL7/8/9/10、Debian 12/13、Ubuntu 22/24，x86_64 与 aarch64）中的 &lt;code&gt;pgdg13&lt;/code&gt;、&lt;code&gt;pgdg13-nonfree&lt;/code&gt; 仓库条目和 PG13 包别名（&lt;code&gt;pg13-*&lt;/code&gt;）全部移除。&lt;/li&gt;&#xA;&lt;li&gt;配置模板（&lt;code&gt;fat.yml&lt;/code&gt;、&lt;code&gt;pro.yml&lt;/code&gt;、&lt;code&gt;dev.yml&lt;/code&gt;、&lt;code&gt;el.yml&lt;/code&gt;、&lt;code&gt;debian.yml&lt;/code&gt;）不再引用 PG13 包或仓库。扩展版本注释更新为仅覆盖 PG 14–18。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Percona 仓库&lt;/strong&gt;：Origin URL 从 &lt;code&gt;ppg-18.1&lt;/code&gt; 更新为 &lt;code&gt;ppg-18.3&lt;/code&gt;，跟踪最新 Percona PostgreSQL 发行版。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Nginx 仓库&lt;/strong&gt;：Debian/Ubuntu 平台上 Nginx 上游 APT 仓库的模块标签从 &lt;code&gt;infra&lt;/code&gt; 修正为 &lt;code&gt;nginx&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;UV Venv 修复&lt;/strong&gt;：&lt;code&gt;roles/node/tasks/pkg.yml&lt;/code&gt; 现在会先检查虚拟环境是否已存在，避免重复执行 &lt;code&gt;uv venv&lt;/code&gt; 导致的冗余创建或重新置备报错。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Docker 镜像&lt;/strong&gt;：Pigsty Docker 镜像基础包中新增 &lt;code&gt;less&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Demo 配置&lt;/strong&gt;：&lt;code&gt;el.yml&lt;/code&gt; 和 &lt;code&gt;debian.yml&lt;/code&gt; 示例配置的默认防火墙规则新增 &lt;code&gt;5432&lt;/code&gt; 端口，支持直接访问 PostgreSQL。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;兼容性说明&#34;&gt;兼容性说明&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PostgreSQL 13 已于 2025-11-13 &lt;a href=&#34;https://www.postgresql.org/support/versioning/&#34;&gt;到达生命周期终点&lt;/a&gt;。&#xA;PGDG YUM 仓库已经归档移除 &lt;a href=&#34;https://yum.postgresql.org/news/pg13-end-of-life/&#34;&gt;pg13&lt;/a&gt; / &lt;a href=&#34;https://yum.postgresql.org/news/pg12-end-of-life/&#34;&gt;pg12&lt;/a&gt; 目录。&#xA;如果您在 EL 系统上安装 Pigsty （即使没有使用 PG 13 版本），也有可能因为仓库访问失败而导致安装或更新失败。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.2.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.2.0/</link>
        <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.2.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.2.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-02-28&#34;&gt;2026-02-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.2.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.2.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;离线小版本跟进 PostgreSQL 紧急小版本：18.3、17.9、16.13、15.17、14.22。&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 扩展总数达到 461 个。&lt;/li&gt;&#xA;&lt;li&gt;PG 内核更新：Babelfish、AgensGraph、pgEdge、OriolePG、OpenHalo、Cloudberry。&lt;/li&gt;&#xA;&lt;li&gt;Babelfish 模板切换到 Pigsty 自建维护的 PG17 兼容版本，移除对 WiltonDB 仓库的依赖。&lt;/li&gt;&#xA;&lt;li&gt;更新 Supabase 镜像与自建模板至最新版本，使用自行维护的 &lt;a href=&#34;https://github.com/pgsty/minio&#34;&gt;MinIO 分支 pgsty/minio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;主要变更&#34;&gt;主要变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;mssql&lt;/code&gt; 模板切换到 Babelfish PG17 默认：&lt;code&gt;pg_version: 17&lt;/code&gt;，&lt;code&gt;pg_packages: [babelfish, pgsql-common, sqlcmd]&lt;/code&gt;，并移除额外 &lt;code&gt;mssql&lt;/code&gt; repo 依赖。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_home_map&lt;/code&gt; 调整：&lt;code&gt;mssql&lt;/code&gt; 指向 &lt;code&gt;/usr/babelfish-$v/&lt;/code&gt;，&lt;code&gt;gpsql&lt;/code&gt; 指向 &lt;code&gt;/usr/local/cloudberry&lt;/code&gt;，统一内核路径语义。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;package_map&lt;/code&gt; 新增 &lt;code&gt;cloudberry&lt;/code&gt; 独立映射，并修复 &lt;code&gt;babelfish*&lt;/code&gt; 组件别名到版本化包名（RPM/DEB）。&lt;/li&gt;&#xA;&lt;li&gt;Redis 默认主目录从 &lt;code&gt;/data&lt;/code&gt; 调整为 &lt;code&gt;/data/redis&lt;/code&gt;；部署阶段阻止旧默认值继续使用，&lt;code&gt;redis_remove&lt;/code&gt; 增加旧路径兼容清理。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;configure&lt;/code&gt; 支持 &lt;code&gt;-o&lt;/code&gt; 绝对路径输出并自动建目录；区域探测改为三态（境内/境外/离线回退），修复 &lt;code&gt;behind_gfw()&lt;/code&gt; 卡住问题。&lt;/li&gt;&#xA;&lt;li&gt;修复 Debian/Ubuntu 默认仓库 URL（&lt;code&gt;updates/backports/security&lt;/code&gt; 对应关系）与中国区镜像组件字段，避免节点初始化拉包失败。&lt;/li&gt;&#xA;&lt;li&gt;Supabase 应用栈例行升级（含 PostgREST &lt;code&gt;14.5&lt;/code&gt;、Vector &lt;code&gt;0.53.0&lt;/code&gt; 等）并补齐 S3 协议访问密钥变量。&lt;/li&gt;&#xA;&lt;li&gt;Rich/Sample 模板显式补全 &lt;code&gt;dbuser_meta&lt;/code&gt; 默认值；&lt;code&gt;node.sh&lt;/code&gt; 中 systemd 自动补全逻辑简化。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pgbackrest&lt;/code&gt; 初始化增加重试（2 次、间隔 5 秒），缓解 &lt;code&gt;stanza-create&lt;/code&gt; 与 &lt;code&gt;archive-push&lt;/code&gt; 锁竞争失败。&lt;/li&gt;&#xA;&lt;li&gt;Vibe 模板更新：内置 &lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt;、&lt;code&gt;@openai/codex&lt;/code&gt;、&lt;code&gt;happy-coder&lt;/code&gt; 等 npm 工具，默认示例补入 &lt;code&gt;age&lt;/code&gt; 扩展。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pg-软件更新&#34;&gt;PG 软件更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 18.3, 17.9, 16.13, 15.17, 14.22&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/repo/pgsql/rpm/#2026-02-27&#34;&gt;RPM Changelog 2026-02-27&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/repo/pgsql/deb/#2026-02-27&#34;&gt;DEB Changelog 2026-02-27&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;核心升级：&lt;code&gt;timescaledb 2.25.0 -&amp;gt; 2.25.1&lt;/code&gt;，&lt;code&gt;citus 14.0.0-3 -&amp;gt; 14.0.0-4&lt;/code&gt;，&lt;code&gt;pg_search -&amp;gt; 0.21.9&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增/重建：&lt;code&gt;pgedge 17.9&lt;/code&gt;，&lt;code&gt;spock 5.0.5&lt;/code&gt;，&lt;code&gt;lolor 1.2.2&lt;/code&gt;，&lt;code&gt;snowflake 2.4&lt;/code&gt;，&lt;code&gt;babelfish 5.5.0&lt;/code&gt;，&lt;code&gt;cloudberry 2.0.0&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;内核配套：&lt;code&gt;oriolepg 17.11 -&amp;gt; 17.16&lt;/code&gt;，&lt;code&gt;orioledb beta12 -&amp;gt; beta14&lt;/code&gt;，&lt;code&gt;openhalo 14.10 -&amp;gt; 1.0(14.18)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;包名&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;备注&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;timescaledb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.25.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.25.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;citus&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.0.0-3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.0.0-4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;使用最新官方版本重新构建&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;age&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.7.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.7.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 PG 17 的 1.7.0 版本支持&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgmq&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;当前没有该扩展包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_search&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.7 / 0.21.6&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;RPM/DEB 旧版本不同&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;oriolepg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.11&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.16&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;OriolePG 内核更新&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;orioledb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;beta12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;beta14&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;配套 OriolePG 17.16&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;openhalo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;更新并重命名，14.18&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgedge&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;17.9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增多主边缘分布式内核&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;spock&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.0.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增，pgEdge 核心扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;lolor&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增，pgEdge 核心扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;snowflake&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增，pgEdge 核心扩展&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;babelfishpg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 BabelfishPG 包组&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;babelfish&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.5.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 Babelfish 兼容包&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;antlr4-runtime413&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.13&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;新增 Babelfish 依赖运行时&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;cloudberry&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅 RPM 构建&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_background&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.8&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;仅 DEB 构建&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;基础设施软件更新&#34;&gt;基础设施软件更新&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;名称&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;旧版本&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;新版本&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.3.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;12.4.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;prometheus&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.9.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.10.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;mongodb_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.47.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.49.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.135.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.136.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-metrics-cluster&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.135.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.136.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vmutils&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.135.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.136.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;victoria-logs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.45.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlagent&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.45.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;vlogscli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.45.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.47.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;loki&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;promtail&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;logcli&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-victorialogs-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.24.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.26.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-victoriametrics-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.23.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;grafana-infinity-ds&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;redis_exporter&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.80.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.81.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.7&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.6.8&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;dblab&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.34.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.34.3&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tigerbeetle&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.72&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.16.74&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;seaweedfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.09&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.13&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rustfs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-alpha.82&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0-alpha.83&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.10.4&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;kafka&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.2.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;npgsqlrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.7.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.10.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;postgrest&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;caddy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.10.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.11.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;rclone&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.73.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pev2&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.20.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.20.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;genai-toolbox&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.25.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.27.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;opencode&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.59&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.15&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;claude&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.37&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.1.59&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;codex&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.104.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.105.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.109.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.109.4&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;code-server&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.108.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;4.109.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;nodejs&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;24.13.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;24.14.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pig&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;stalwart&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.15.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;maddy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.8.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;api-变化&#34;&gt;API 变化&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_mode&lt;/code&gt; 增加 &lt;code&gt;agens&lt;/code&gt; 与 &lt;code&gt;pgedge&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;mssql&lt;/code&gt; 默认配置改为 &lt;code&gt;pg_version: 17&lt;/code&gt; + &lt;code&gt;pg_packages: [babelfish, pgsql-common, sqlcmd]&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_home_map&lt;/code&gt; 与 &lt;code&gt;package_map&lt;/code&gt; 的内核/包别名映射更新（Babelfish / OpenHalo / IvorySQL / Cloudberry / pgEdge 家族）。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;redis_fs_main&lt;/code&gt; 默认值改为 &lt;code&gt;/data/redis&lt;/code&gt;，并新增部署保护与移除兼容策略。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;configure&lt;/code&gt; 输出路径与区域探测逻辑更新，增加离线回退告警；SSH 探测统一超时参数。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;grafana.ini.j2&lt;/code&gt; 跟进 Grafana 12.4 新配置项与废弃项调整。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;兼容性说明&#34;&gt;兼容性说明&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;存量 Redis 配置如果仍使用 &lt;code&gt;redis_fs_main: /data&lt;/code&gt;，请先改为 &lt;code&gt;/data/redis&lt;/code&gt; 再执行部署。&lt;/li&gt;&#xA;&lt;li&gt;Grafana 12.4 后 data link 合并行为变化，本版本已将关键链接下沉到字段 override 规避冲突；如有自定义看板，建议同步检查。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;26 个提交&lt;/strong&gt;，122 文件变更，+2,116 / -2,215 行（&lt;code&gt;v4.1.0..v4.2.0&lt;/code&gt;，2026-02-15 ~ 2026-02-28）&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.1.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.1.0/</link>
        <pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.1.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.1.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-02-12&#34;&gt;2026-02-12&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.1.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.1.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.1.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-7c2a916c-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-7c2a916c-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://pigsty.cc/get &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v4.1.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;72 个提交&lt;/strong&gt;，252 文件变更，+5,744 / -5,015 行（&lt;code&gt;v4.0.0..v4.1.0&lt;/code&gt;，2026-02-02 ~ 2026-02-13）&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v4.0.0</title>
        <link>https://pgsty.pro/zh/blog/release/4.0.0/</link>
        <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/4.0.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v4.0.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-01-28&#34;&gt;2026-01-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.0.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.0.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v4.0.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-b5240172-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-b5240172-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://pigsty.cc/get &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v4.0.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;318 个提交&lt;/strong&gt;，604 文件变更，+118,655 / -327,552 行，发布页面: &lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v4.0.0&#34;&gt;https://github.com/pgsty/pigsty/releases/tag/v4.0.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;可观测性革命&lt;/strong&gt;：Prometheus → VictoriaMetrics（10x 性能提升），Loki + Promtail → VictoriaLogs + Vector&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;安全加固&lt;/strong&gt;：自动生成强密码、etcd RBAC、防火墙/SELinux 模式、权限收紧、Nginx Basic Auth&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;容器支持&lt;/strong&gt;：支持在 Docker 容器中运行 Pigsty 本身&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;新增模块&lt;/strong&gt;：JUICE，提供将 PG 挂载为文件系统并进行 PITR 的能力&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;新增模块&lt;/strong&gt;：VIBE，提供 Claude Code、JupyterLab、VS Code Server、Node.js 的配置与可观测性&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;数据库管理&lt;/strong&gt;: &lt;code&gt;pg_databases&lt;/code&gt; state（create/absent/recreate）、&lt;code&gt;strategy&lt;/code&gt; 瞬间克隆数据库&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PITR 与分叉&lt;/strong&gt;: &lt;code&gt;/pg/bin/pg-fork&lt;/code&gt; CoW 瞬间克隆、&lt;code&gt;pg-pitr&lt;/code&gt; 增强支持 PITR 前备份&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;高可用增强&lt;/strong&gt;: &lt;code&gt;pg_rto_plan&lt;/code&gt; 提供四档 RTO 预置参数（fast/norm/safe/wide），&lt;code&gt;pg_crontab&lt;/code&gt; 定时任务&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;多云 Terraform&lt;/strong&gt;：AWS、Azure、GCP、Hetzner、DigitalOcean、Linode、Vultr、腾讯云模板&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;许可证变更&lt;/strong&gt;：AGPL-3.0 → Apache-2.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;MinIO 开始使用 &lt;a href=&#34;https://github.com/pgsty/minio&#34;&gt;pgsty/minio&lt;/a&gt; fork RPM/DEB&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.7.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.7.0/</link>
        <pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.7.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.7.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-12-02&#34;&gt;2025-12-02&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.7.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.7.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.7.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 18 深度支持，成为默认 PG 大版本，扩展已就位！&lt;/li&gt;&#xA;&lt;li&gt;新增 EL10 / Debian 13 操作系统支持，总数达 14 个！&lt;/li&gt;&#xA;&lt;li&gt;新增 PostgresQL 扩展数量，总数达到 437 个！&lt;/li&gt;&#xA;&lt;li&gt;支持了 Ansible 2.19 破坏性重构以后的版本！&lt;/li&gt;&#xA;&lt;li&gt;Supabase，PolarDB, IvorySQL, Percona 内核更新至最新版本！&lt;/li&gt;&#xA;&lt;li&gt;优化了 PG 默认参数的设置逻辑，更充分利用资源。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;版本更新&#34;&gt;版本更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, 13.23&lt;/li&gt;&#xA;&lt;li&gt;Patroni 4.1.0&lt;/li&gt;&#xA;&lt;li&gt;Pgbouncer 1.25.0&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 1.0.3&lt;/li&gt;&#xA;&lt;li&gt;pgbackrest 2.57.0&lt;/li&gt;&#xA;&lt;li&gt;Supabase 2025-11&lt;/li&gt;&#xA;&lt;li&gt;PolarDB 15.15.5.0&lt;/li&gt;&#xA;&lt;li&gt;FerretDB 2.7.0&lt;/li&gt;&#xA;&lt;li&gt;DuckDB 1.4.2&lt;/li&gt;&#xA;&lt;li&gt;Etcd 3.6.6&lt;/li&gt;&#xA;&lt;li&gt;pig 0.7.4&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;更多软件版本更新信息，请参考：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.6.1</title>
        <link>https://pgsty.pro/zh/blog/release/3.6.1/</link>
        <pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.6.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.6.1&lt;/strong&gt; · &lt;time datetime=&#34;2025-08-15&#34;&gt;2025-08-15&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.6.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.6.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.6.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-825414cb-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-825414cb-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://repo.pigsty.cc/get &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v3.6.1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 17.6, 16.10, 15.14, 14.19, 13.22, 以及 18 Beta 3 支持&lt;/li&gt;&#xA;&lt;li&gt;在中国大陆地区使用 Pigsty 提供的 PGDG APT/YUM 镜像解决更新断供问题。&lt;/li&gt;&#xA;&lt;li&gt;新的网站首页： &lt;a href=&#34;https://pgsty.com&#34;&gt;https://pgsty.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;增加了 el10, debian 13 的实现存根，以及 el10 的 Terraform 镜像&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana 12.1.0&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 1.0.2&lt;/li&gt;&#xA;&lt;li&gt;pig 0.6.1&lt;/li&gt;&#xA;&lt;li&gt;vector 0.49.0&lt;/li&gt;&#xA;&lt;li&gt;redis_exporter 1.75.0&lt;/li&gt;&#xA;&lt;li&gt;mongo_exporter 0.47.0&lt;/li&gt;&#xA;&lt;li&gt;victoriametrics 1.123.0&lt;/li&gt;&#xA;&lt;li&gt;victorialogs: 1.28.0&lt;/li&gt;&#xA;&lt;li&gt;grafana-victoriametrics-ds 0.18.3&lt;/li&gt;&#xA;&lt;li&gt;grafana-victorialogs-ds 0.19.3&lt;/li&gt;&#xA;&lt;li&gt;grafana-infinity-ds 3.4.1&lt;/li&gt;&#xA;&lt;li&gt;etcd 3.6.4&lt;/li&gt;&#xA;&lt;li&gt;ferretdb 2.5.0&lt;/li&gt;&#xA;&lt;li&gt;tigerbeetle 0.16.54&lt;/li&gt;&#xA;&lt;li&gt;genai-toolbox 0.12.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;数据库软件包更新&#34;&gt;数据库软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pg_search 0.17.3&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变更&#34;&gt;API 变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;从 &lt;code&gt;node_kernel_modules&lt;/code&gt; 默认值中移除 &lt;code&gt;br_filter&lt;/code&gt; 内核模块。&lt;/li&gt;&#xA;&lt;li&gt;在添加 PGDG YUM 源时使用操作大版本号，不再使用小版本号。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-825414cb-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;11&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-825414cb-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;045977aff647acbfa77f0df32d863739  pigsty-pkg-v3.6.1.d12.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;636b15c2d87830f2353680732e1af9d2  pigsty-pkg-v3.6.1.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;700a9f6d0db9c686d371bf1c05b54221  pigsty-pkg-v3.6.1.el8.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2aff03f911dd7be363ba38a392b71a16  pigsty-pkg-v3.6.1.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ce07261b02b02b36a307dab83e460437  pigsty-pkg-v3.6.1.el9.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d598d62a47bbba2e811059a53fe3b2b5  pigsty-pkg-v3.6.1.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;13fd68752e59f5fd2a9217e5bcad0acd  pigsty-pkg-v3.6.1.u22.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c25ccfb98840c01eb7a6e18803de55bb  pigsty-pkg-v3.6.1.u22.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0d71e58feebe5299df75610607bf428c  pigsty-pkg-v3.6.1.u24.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4fbbab1f8465166f494110c5ec448937  pigsty-pkg-v3.6.1.u24.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;083d8680fa48e9fec3c3fcf481d25d2f  pigsty-v3.6.1.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.6.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.6/&#34;&gt;Pigsty v3.6 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v361&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.6.0...v3.6.1&#34;&gt;源码对比：&lt;code&gt;v3.6.0...v3.6.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.6.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.6.0/</link>
        <pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.6.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.6.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-07-30&#34;&gt;2025-07-30&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.6.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.6.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.6.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-921d85a1-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-921d85a1-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://repo.pigsty.cc/get &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v3.6.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;全新文档站： &lt;a href=&#34;https://doc.pgsty.com&#34;&gt;https://doc.pgsty.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;code&gt;pgsql-pitr&lt;/code&gt; 剧本与备份/恢复教程，改善 PITR 体验，&lt;/li&gt;&#xA;&lt;li&gt;新增内核支持：Percona PG TDE (PG17)&lt;/li&gt;&#xA;&lt;li&gt;优化 Supabase 自建体验，更新至最新版本，并解决了一系列官方模板的问题&lt;/li&gt;&#xA;&lt;li&gt;简化安装步骤，默认使用在线安装，更加高效简单，bootstrap 过程（安装 ansible）嵌入安装脚本中&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;设计改进&#34;&gt;设计改进&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;改善了 Etcd 模块的实现，新增独立的 &lt;code&gt;etcd-rm.yml&lt;/code&gt; 剧本与扩缩容 SOP 脚本。&lt;/li&gt;&#xA;&lt;li&gt;改善了 MinIO 模块的实现，支持 HTTP 模式，创建不同属性的三个桶供开箱即用&lt;/li&gt;&#xA;&lt;li&gt;重新调整梳理了所有配置模板，使用更为便利&lt;/li&gt;&#xA;&lt;li&gt;针对中国大陆使用速度更快的 Docker Registry 镜像站&lt;/li&gt;&#xA;&lt;li&gt;优化了 tuned 操作系统参数模板，针对现代硬件与 NVMe 磁盘优化&lt;/li&gt;&#xA;&lt;li&gt;新增扩展 &lt;code&gt;pgactive&lt;/code&gt; 用于多主复制与亚秒级故障切换&lt;/li&gt;&#xA;&lt;li&gt;调整 &lt;code&gt;pg_fs_main&lt;/code&gt; / &lt;code&gt;pg_fs_backup&lt;/code&gt; 默认值，简化文件目录结构设计&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复了 pgbouncer 配置文件的错误 by @housei-zzy&lt;/li&gt;&#xA;&lt;li&gt;修复了 OrioleDB 在 Debian 平台上的问题&lt;/li&gt;&#xA;&lt;li&gt;修复了 tuned shm 配置参数的问题&lt;/li&gt;&#xA;&lt;li&gt;离线软件包直接使用 PGDG 源，避免使用断开同步的镜像站点&lt;/li&gt;&#xA;&lt;li&gt;修复了 IvorySQL libxcrypt 依赖的问题&lt;/li&gt;&#xA;&lt;li&gt;替换了破损与缓慢的 EPEL 软件仓库站点&lt;/li&gt;&#xA;&lt;li&gt;修复了 &lt;code&gt;haproxy_enabled&lt;/code&gt; 标记位的功能&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;新增 Victoria Metrics / Victoria Logs 相关包&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.5.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.5.0/</link>
        <pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.5.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-06-16&#34;&gt;2025-06-16&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.5.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.5.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.5.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;支持 PG 18 (Beta)，扩展更新，总数达到 421 个&lt;/li&gt;&#xA;&lt;li&gt;OrioleDB 与 OpenHalo 内核在全平台上可用&lt;/li&gt;&#xA;&lt;li&gt;可使用 &lt;code&gt;pig do&lt;/code&gt; 子命令代替 &lt;code&gt;bin&lt;/code&gt; 脚本&lt;/li&gt;&#xA;&lt;li&gt;Supabase 自建加强，解决若干遗留问题，例如复制延迟与密钥分发&lt;/li&gt;&#xA;&lt;li&gt;代码重构与架构优化，优化了 Postgres 与 Pgbouncer 默认参数&lt;/li&gt;&#xA;&lt;li&gt;更新了 Grafana 12, pg_exporter 1.0 与相关插件，翻修面板&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-b6c0a079-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-b6c0a079-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://repo.pigsty.cc/get &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v3.5.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;支持 PostgreSQL 18&lt;/li&gt;&#xA;&lt;li&gt;通过 pg_exporter 1.0.0 支持 PG18 监控指标&lt;/li&gt;&#xA;&lt;li&gt;通过 pig 0.4.1 支持 PG18 安装 Alias。&lt;/li&gt;&#xA;&lt;li&gt;提供 &lt;code&gt;pg18&lt;/code&gt; 配置模板&lt;/li&gt;&#xA;&lt;li&gt;重构 &lt;code&gt;pgsql&lt;/code&gt; 模块&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 重构，将 PG 监控抽离为单独的 &lt;code&gt;pg_monitor&lt;/code&gt; 角色，移除 &lt;code&gt;clean&lt;/code&gt; 逻辑&lt;/li&gt;&#xA;&lt;li&gt;去除冗余重复的任务，合并同类项，精简配置。移除 &lt;code&gt;dir/utils&lt;/code&gt; 任务块&lt;/li&gt;&#xA;&lt;li&gt;所有扩展默认安装至 &lt;code&gt;extensions&lt;/code&gt; 模式中（与 supabase 安全实践保持一致）&lt;/li&gt;&#xA;&lt;li&gt;重命名模板文件，移除所有 &lt;code&gt;.j2&lt;/code&gt; 后缀&lt;/li&gt;&#xA;&lt;li&gt;为所有模板中的 &lt;code&gt;monitor&lt;/code&gt; 函数添加 &lt;code&gt;SET&lt;/code&gt; 命令清空 &lt;code&gt;search_path&lt;/code&gt;，遵循 Supabase 安全最佳实践。&lt;/li&gt;&#xA;&lt;li&gt;调整 pgbouncer 默认参数，增大默认链接池大小，设置链接池清理查询。&lt;/li&gt;&#xA;&lt;li&gt;新增参数 &lt;code&gt;pgbouncer_ignore_param&lt;/code&gt;，允许配置 pgbouncer 忽略的参数列表&lt;/li&gt;&#xA;&lt;li&gt;新增任务 &lt;code&gt;pg_key&lt;/code&gt; 用于生成 &lt;code&gt;pgsodium&lt;/code&gt; 所需的服务端密钥&lt;/li&gt;&#xA;&lt;li&gt;针对 PG 17 默认启用 &lt;code&gt;sync_replication_slots&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;重新调整了子任务标签，使其更符合配置小节的拆分逻辑&lt;/li&gt;&#xA;&lt;li&gt;重构 &lt;code&gt;pg_remove&lt;/code&gt; 模块&lt;/li&gt;&#xA;&lt;li&gt;重命名参数：&lt;code&gt;pg_rm_data&lt;/code&gt;, &lt;code&gt;pg_rm_bkup&lt;/code&gt;, &lt;code&gt;pg_rm_pkg&lt;/code&gt; 用于控制删除的内容&lt;/li&gt;&#xA;&lt;li&gt;重新调整角色代码结构，使用更清楚的标签进行划分&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;code&gt;pg_monitor&lt;/code&gt; 模块&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pgbouncer_exporter&lt;/code&gt; 现在不再和 &lt;code&gt;pg_exporter&lt;/code&gt; 共享配置文件&lt;/li&gt;&#xA;&lt;li&gt;新增了 TimescaleDB， Citus，pg_wait_event 的监控指标。&lt;/li&gt;&#xA;&lt;li&gt;使用 &lt;code&gt;pg_exporter&lt;/code&gt; 1.0.0，更新了 PG16/17/18 相关监控指标。&lt;/li&gt;&#xA;&lt;li&gt;使用更为紧凑，全新设计的指标收集器配置文件。&lt;/li&gt;&#xA;&lt;li&gt;Supabase 加强 (感谢来自 &lt;a href=&#34;https://github.com/lawso017&#34;&gt;@lawso017&lt;/a&gt; 的贡献！)&lt;/li&gt;&#xA;&lt;li&gt;将 Supabase 容器镜像与数据库模式更新至最新版本&lt;/li&gt;&#xA;&lt;li&gt;现在默认支持 &lt;code&gt;pgsodium&lt;/code&gt; 服务端密钥加载&lt;/li&gt;&#xA;&lt;li&gt;通过 supa-kick 定时任务解决 logflare 无法及时更新复制进度的问题&lt;/li&gt;&#xA;&lt;li&gt;为 monitor 模式中的函数添加 &lt;code&gt;set search_path&lt;/code&gt; 子句以遵循安全最佳实践&lt;/li&gt;&#xA;&lt;li&gt;CLI 新增 &lt;code&gt;pig do&lt;/code&gt; 命令，允许通过命令行工具替代 &lt;code&gt;bin/&lt;/code&gt; 中的 Shell 脚本&lt;/li&gt;&#xA;&lt;li&gt;监控系统更新&lt;/li&gt;&#xA;&lt;li&gt;更新 Grafana 大版本至 12.0.0，更新相关插件/数据源软件包&lt;/li&gt;&#xA;&lt;li&gt;更新 Postgres 数据源 uid 命名方式（以适应新的 &lt;code&gt;uid&lt;/code&gt; 长度限制与字符限制）&lt;/li&gt;&#xA;&lt;li&gt;新增了 Static Datasource&lt;/li&gt;&#xA;&lt;li&gt;更新了现有 Dashboard，修复若干遗留问题&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施软件包更新&#34;&gt;基础设施软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pig 0.4.2&lt;/li&gt;&#xA;&lt;li&gt;duckdb 1.3.0&lt;/li&gt;&#xA;&lt;li&gt;etcd 3.6.0&lt;/li&gt;&#xA;&lt;li&gt;vector 0.47.0&lt;/li&gt;&#xA;&lt;li&gt;minio 20250422221226&lt;/li&gt;&#xA;&lt;li&gt;mcli 20250416181326&lt;/li&gt;&#xA;&lt;li&gt;pev 1.5.0&lt;/li&gt;&#xA;&lt;li&gt;rclone 1.69.3&lt;/li&gt;&#xA;&lt;li&gt;mtail 3.0.8 (new)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;可观测性软件包更新&#34;&gt;可观测性软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;grafana 12.0.0&lt;/li&gt;&#xA;&lt;li&gt;grafana-victorialogs-ds 0.16.3&lt;/li&gt;&#xA;&lt;li&gt;grafana-victoriametrics-ds 0.15.1&lt;/li&gt;&#xA;&lt;li&gt;grafana-infinity-ds 3.2.1&lt;/li&gt;&#xA;&lt;li&gt;grafana_plugins 12.0.0&lt;/li&gt;&#xA;&lt;li&gt;prometheus 3.4.0&lt;/li&gt;&#xA;&lt;li&gt;pushgateway 1.11.1&lt;/li&gt;&#xA;&lt;li&gt;nginx_exporter 1.4.2&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter &lt;a href=&#34;https://github.com/pgsty/pg_exporter/releases/tag/v1.0.0&#34;&gt;1.0.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;pgbackrest_exporter 0.20.0&lt;/li&gt;&#xA;&lt;li&gt;redis_exporter 1.72.1&lt;/li&gt;&#xA;&lt;li&gt;keepalived_exporter 1.6.2&lt;/li&gt;&#xA;&lt;li&gt;victoriametrics 1.117.1&lt;/li&gt;&#xA;&lt;li&gt;victoria_logs 1.22.2&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;数据库软件包更新&#34;&gt;数据库软件包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 17.5, 16.9, 15.13, 14.18, 13.21&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 18beta1 支持&lt;/li&gt;&#xA;&lt;li&gt;pgbouncer 1.24.1&lt;/li&gt;&#xA;&lt;li&gt;pgbackrest 2.55&lt;/li&gt;&#xA;&lt;li&gt;pgbadger 13.1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgres-扩展包更新&#34;&gt;Postgres 扩展包更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;spat &lt;a href=&#34;https://github.com/Florents-Tselai/spat&#34;&gt;0.1.0a4&lt;/a&gt; 新扩展&lt;/li&gt;&#xA;&lt;li&gt;pgsentinel &lt;a href=&#34;https://github.com/pgsentinel/pgsentinel/releases/tag/v1.1.0&#34;&gt;1.1.0&lt;/a&gt; 新扩展&lt;/li&gt;&#xA;&lt;li&gt;pgdd &lt;a href=&#34;https://github.com/rustprooflabs/pgdd&#34;&gt;0.6.0&lt;/a&gt; (pgrx 0.14.1) 新扩展&lt;/li&gt;&#xA;&lt;li&gt;convert &lt;a href=&#34;https://github.com/rustprooflabs/convert&#34;&gt;0.0.4&lt;/a&gt; (pgrx 0.14.1) 新扩展&lt;/li&gt;&#xA;&lt;li&gt;pg_tokenizer.rs &lt;a href=&#34;https://github.com/tensorchord/pg_tokenizer.rs&#34;&gt;0.1.0&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_render &lt;a href=&#34;https://github.com/mkaski/pg_render&#34;&gt;0.1.2&lt;/a&gt; (pgrx 0.12.8)&lt;/li&gt;&#xA;&lt;li&gt;pgx_ulid &lt;a href=&#34;https://github.com/pksunkara/pgx_ulid&#34;&gt;0.2.0&lt;/a&gt; (pgrx 0.12.7)&lt;/li&gt;&#xA;&lt;li&gt;pg_idkit &lt;a href=&#34;https://github.com/VADOSWARE/pg_idkit&#34;&gt;0.3.0&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_ivm &lt;a href=&#34;https://github.com/sraoss/pg_ivm&#34;&gt;1.11.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;orioledb &lt;a href=&#34;https://github.com/orioledb/orioledb&#34;&gt;1.4.0 beta11&lt;/a&gt; 新增 debian/ubuntu 支持&lt;/li&gt;&#xA;&lt;li&gt;openhalo &lt;a href=&#34;https://github.com/HaloTech-Co-Ltd/openHalo&#34;&gt;14.10&lt;/a&gt; 新增 debian/ubuntu 支持&lt;/li&gt;&#xA;&lt;li&gt;omnigres 20250507 (在 d12/u22 编译最新版本失败)&lt;/li&gt;&#xA;&lt;li&gt;citus &lt;a href=&#34;https://github.com/citusdata/citus/releases/tag/v13.0.3&#34;&gt;12.0.3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;timescaledb &lt;a href=&#34;https://github.com/timescale/timescaledb/releases/tag/2.20.0&#34;&gt;2.20.0&lt;/a&gt; (移除 PG14 支持)&lt;/li&gt;&#xA;&lt;li&gt;supautils &lt;a href=&#34;https://github.com/supabase/supautils/releases/tag/v2.9.2&#34;&gt;2.9.2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;pg_envvar &lt;a href=&#34;https://github.com/theory/pg-envvar/releases/tag/v1.0.1&#34;&gt;1.0.1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;pgcollection &lt;a href=&#34;https://github.com/aws/pgcollection/releases/tag/v1.0.0&#34;&gt;1.0.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;aggs_for_vecs &lt;a href=&#34;https://github.com/pjungwir/aggs_for_vecs/releases/tag/1.4.0&#34;&gt;1.4.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;pg_tracing &lt;a href=&#34;https://github.com/DataDog/pg_tracing/releases/tag/v0.1.3&#34;&gt;0.1.3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;pgmq &lt;a href=&#34;https://github.com/pgmq/pgmq/releases/tag/v1.5.1&#34;&gt;1.5.1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;tzf-pg &lt;a href=&#34;https://github.com/ringsaturn/tzf-pg/releases/tag/v0.2.0&#34;&gt;0.2.0&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_search &lt;a href=&#34;https://github.com/paradedb/paradedb/releases/tag/v0.15.18&#34;&gt;0.15.18&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;anon &lt;a href=&#34;https://gitlab.com/dalibo/postgresql_anonymizer/-/tree/latest/debian?ref_type=heads&#34;&gt;2.1.1&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_parquet &lt;a href=&#34;https://github.com/CrunchyData/pg_parquet/releases/tag/v0.3.2&#34;&gt;0.4.0&lt;/a&gt; (0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_cardano &lt;a href=&#34;https://github.com/Fell-x27/pg_cardano/commits/master/&#34;&gt;1.0.5&lt;/a&gt; (pgrx 0.12) -&amp;gt; 0.14.1&lt;/li&gt;&#xA;&lt;li&gt;pglite_fusion &lt;a href=&#34;https://github.com/frectonz/pglite-fusion/releases/tag/v0.0.5&#34;&gt;0.0.5&lt;/a&gt; (pgrx 0.12.8) -&amp;gt; 14.1&lt;/li&gt;&#xA;&lt;li&gt;vchord_bm25 &lt;a href=&#34;https://github.com/tensorchord/VectorChord-bm25/releases/tag/0.2.1&#34;&gt;0.2.1&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;vchord &lt;a href=&#34;https://github.com/tensorchord/VectorChord/releases/tag/0.3.0&#34;&gt;0.3.0&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_vectorize &lt;a href=&#34;https://github.com/ChuckHend/pg_vectorize/releases/tag/v0.22.1&#34;&gt;0.22.1&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;wrappers &lt;a href=&#34;https://github.com/supabase/wrappers/releases/tag/v0.4.6&#34;&gt;0.4.6&lt;/a&gt; (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;li&gt;timescaledb-toolkit &lt;a href=&#34;https://github.com/timescale/timescaledb-toolkit/releases/tag/1.21.0&#34;&gt;1.21.0&lt;/a&gt; (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;li&gt;pgvectorscale &lt;a href=&#34;https://github.com/timescale/pgvectorscale/releases/tag/0.7.1&#34;&gt;0.7.1&lt;/a&gt; (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;li&gt;pg_session_jwt &lt;a href=&#34;https://github.com/neondatabase/pg_session_jwt/releases/tag/v0.3.1&#34;&gt;0.3.1&lt;/a&gt; (pgrx 0.12.6) -&amp;gt; 0.12.9&lt;/li&gt;&#xA;&lt;li&gt;pg_timetable 5.13.0&lt;/li&gt;&#xA;&lt;li&gt;ferretdb 2.2.0&lt;/li&gt;&#xA;&lt;li&gt;documentdb &lt;a href=&#34;https://github.com/FerretDB/documentdb/releases/tag/v0.103.0-ferretdb-2.2.0&#34;&gt;0.103.0&lt;/a&gt; (新增 aarch64 支持)&lt;/li&gt;&#xA;&lt;li&gt;pgml &lt;a href=&#34;https://github.com/postgresml/postgresml/releases/tag/v2.10.0&#34;&gt;2.10.0&lt;/a&gt; (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;li&gt;sqlite_fdw &lt;a href=&#34;https://github.com/pgspider/sqlite_fdw/releases/tag/v2.5.0&#34;&gt;2.5.0&lt;/a&gt; (fix pg17 deb)&lt;/li&gt;&#xA;&lt;li&gt;tzf &lt;a href=&#34;https://github.com/ringsaturn/pg-tzf/releases/tag/v0.2.2&#34;&gt;0.2.2&lt;/a&gt; 0.14.1 (rename src)&lt;/li&gt;&#xA;&lt;li&gt;pg_vectorize &lt;a href=&#34;https://github.com/ChuckHend/pg_vectorize/releases/tag/v0.22.2&#34;&gt;0.22.2&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;wrappers &lt;a href=&#34;https://github.com/supabase/wrappers/releases/tag/v0.5.0&#34;&gt;0.5.0&lt;/a&gt; (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-b6c0a079-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;6&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-b6c0a079-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ab91bc05c54b88c455bf66533c1d8d43  pigsty-v3.6.0.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4c9fabc2d1f0ed733145af2b6aff2f48 pigsty-pkg-v3.5.0.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;796d47de12673b2eb9882e527c3b6ba0 pigsty-pkg-v3.5.0.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;a53ef2cede1363f11e9faaaa43718fdc pigsty-pkg-v3.5.0.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;36da28f97a845fdc0b7bbde2d3812a67 pigsty-pkg-v3.5.0.u22.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8551b3e04b38af382163e6857778437d pigsty-pkg-v3.5.0.u24.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.5.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.5/&#34;&gt;Pigsty v3.5 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v350&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.4.1...v3.5.0&#34;&gt;源码对比：&lt;code&gt;v3.4.1...v3.5.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.4.1</title>
        <link>https://pgsty.pro/zh/blog/release/3.4.1/</link>
        <pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.4.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.4.1&lt;/strong&gt; · &lt;time datetime=&#34;2025-04-05&#34;&gt;2025-04-05&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;GitHub 发布页面：&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.1&#34;&gt;v3.4.1&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在 EL 系统上增加了对 MySQL 协议兼容 PostgreSQL 内核的支持：&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/openhalo/&#34;&gt;openHalo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;在 EL 系统上增加了对 OLTP 增强 PostgreSQL 内核的支持：&lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/kernel/orioledb/&#34;&gt;orioledb&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;优化了 pgAdmin 9.2 应用模板，具有自动服务器列表更新和 pgpass 密码填充功能&lt;/li&gt;&#xA;&lt;li&gt;将 PG 默认最大连接数增加到 250、500、1000&lt;/li&gt;&#xA;&lt;li&gt;从 EL8 中删除了有依赖错误的 &lt;code&gt;mysql_fdw&lt;/code&gt; 扩展&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施更新&#34;&gt;基础设施更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pig 0.3.4&lt;/li&gt;&#xA;&lt;li&gt;etcd 3.5.21&lt;/li&gt;&#xA;&lt;li&gt;restic 0.18.0&lt;/li&gt;&#xA;&lt;li&gt;ferretdb 2.1.0&lt;/li&gt;&#xA;&lt;li&gt;tigerbeetle 0.16.34&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 0.8.1&lt;/li&gt;&#xA;&lt;li&gt;node_exporter 1.9.1&lt;/li&gt;&#xA;&lt;li&gt;grafana 11.6.0&lt;/li&gt;&#xA;&lt;li&gt;zfs_exporter 3.8.1&lt;/li&gt;&#xA;&lt;li&gt;mongodb_exporter 0.44.0&lt;/li&gt;&#xA;&lt;li&gt;victoriametrics 1.114.0&lt;/li&gt;&#xA;&lt;li&gt;minio 20250403145628&lt;/li&gt;&#xA;&lt;li&gt;mcli 20250403170756&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;扩展更新&#34;&gt;扩展更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将 pg_search 升级到 0.15.13&lt;/li&gt;&#xA;&lt;li&gt;将 citus 升级到 13.0.3&lt;/li&gt;&#xA;&lt;li&gt;将 timescaledb 升级到 2.19.1&lt;/li&gt;&#xA;&lt;li&gt;将 pgcollection RPM 升级到 1.0.0&lt;/li&gt;&#xA;&lt;li&gt;将 pg_vectorize RPM 升级到 0.22.1&lt;/li&gt;&#xA;&lt;li&gt;将 pglite_fusion RPM 升级到 0.0.4&lt;/li&gt;&#xA;&lt;li&gt;将 aggs_for_vecs RPM 升级到 1.4.0&lt;/li&gt;&#xA;&lt;li&gt;将 pg_tracing RPM 升级到 0.1.3&lt;/li&gt;&#xA;&lt;li&gt;将 pgmq RPM 升级到 1.5.1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-ae83c702-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;5&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-ae83c702-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;471c82e5f050510bd3cc04d61f098560  pigsty-v3.4.1.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4ce17cc1b549cf8bd22686646b1c33d2  pigsty-pkg-v3.4.1.d12.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c80391c6f93c9f4cad8079698e910972  pigsty-pkg-v3.4.1.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;811bf89d1087512a4f8801242ca8bed5  pigsty-pkg-v3.4.1.el9.x86_64.tgzz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9fe2e6482b14a3e60863eeae64a78945  pigsty-pkg-v3.4.1.u22.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.4/&#34;&gt;Pigsty v3.4 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v341&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.4.0...v3.4.1&#34;&gt;源码对比：&lt;code&gt;v3.4.0...v3.4.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.4.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.4.0/</link>
        <pubDate>Sun, 30 Mar 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.4.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-03-30&#34;&gt;2025-03-30&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;GitHub 发布页面：&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.0&#34;&gt;v3.4.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;介绍博客：&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.4&#34;&gt;&lt;strong&gt;Pigsty v3.4 MySQL 兼容性和全面增强&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;新功能&#34;&gt;新功能&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;增加了新的 pgBackRest 备份监控指标和仪表板&lt;/li&gt;&#xA;&lt;li&gt;增强了 Nginx 服务器配置选项，支持自动 Certbot 签发&lt;/li&gt;&#xA;&lt;li&gt;现在优先使用 PostgreSQL 内置的 &lt;code&gt;C&lt;/code&gt;/&lt;code&gt;C.UTF-8&lt;/code&gt; 区域设置&lt;/li&gt;&#xA;&lt;li&gt;IvorySQL 4.4 现在在所有平台上完全支持（RPM/DEB 在 x86/ARM 上）&lt;/li&gt;&#xA;&lt;li&gt;增加了新的软件包：Juicefs、Restic、TimescaleDB EventStreamer&lt;/li&gt;&#xA;&lt;li&gt;Apache AGE 图数据库扩展现在在 EL 上完全支持 PostgreSQL 13–17&lt;/li&gt;&#xA;&lt;li&gt;改进了 &lt;code&gt;app.yml&lt;/code&gt; playbook：无需额外配置即可启动标准 Docker 应用&lt;/li&gt;&#xA;&lt;li&gt;升级 Supabase、Dify 和 Odoo 应用模板到最新版本&lt;/li&gt;&#xA;&lt;li&gt;增加 electric 应用模板，本地优先的 PostgreSQL 同步引擎&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;基础设施包&#34;&gt;基础设施包&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;+restic&lt;/strong&gt; 0.17.3&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;+juicefs&lt;/strong&gt; 1.2.3&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;+timescaledb-event-streamer&lt;/strong&gt; 0.12.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Prometheus&lt;/strong&gt; 3.2.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;AlertManager&lt;/strong&gt; 0.28.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;blackbox_exporter&lt;/strong&gt; 0.26.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;node_exporter&lt;/strong&gt; 1.9.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;mysqld_exporter&lt;/strong&gt; 0.17.2&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;kafka_exporter&lt;/strong&gt; 1.9.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;redis_exporter&lt;/strong&gt; 1.69.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pgbackrest_exporter&lt;/strong&gt; 0.19.0-2&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;DuckDB&lt;/strong&gt; 1.2.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;etcd&lt;/strong&gt; 3.5.20&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;FerretDB&lt;/strong&gt; 2.0.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tigerbeetle&lt;/strong&gt; 0.16.31&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vector&lt;/strong&gt; 0.45.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;VictoriaMetrics&lt;/strong&gt; 1.113.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;VictoriaLogs&lt;/strong&gt; 1.17.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;rclone&lt;/strong&gt; 1.69.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pev2&lt;/strong&gt; 1.14.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;grafana-victorialogs-ds&lt;/strong&gt; 0.16.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;grafana-victoriametrics-ds&lt;/strong&gt; 0.14.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;grafana-infinity-ds&lt;/strong&gt; 3.0.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgresql-相关&#34;&gt;PostgreSQL 相关&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Patroni&lt;/strong&gt; 4.0.5&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PolarDB&lt;/strong&gt; 15.12.3.0-e1e6d85b&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;IvorySQL&lt;/strong&gt; 4.4&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pgbackrest&lt;/strong&gt; 2.54.2&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pev2&lt;/strong&gt; 1.14&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Babelfish&lt;/strong&gt; 13.17&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgresql-扩展&#34;&gt;PostgreSQL 扩展&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;pgspider_ext&lt;/strong&gt; 1.3.0（新扩展）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;apache age&lt;/strong&gt; 13–17 el rpm (1.5.0)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;timescaledb&lt;/strong&gt; 2.18.2 → 2.19.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;citus&lt;/strong&gt; 13.0.1 → 13.0.2&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;documentdb&lt;/strong&gt; 1.101-0 → 1.102-0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_analytics&lt;/strong&gt; 0.3.4 → 0.3.7&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_search&lt;/strong&gt; 0.15.2 → 0.15.8&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_ivm&lt;/strong&gt; 1.9 → 1.10&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;emaj&lt;/strong&gt; 4.4.0 → 4.6.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pgsql_tweaks&lt;/strong&gt; 0.10.0 → 0.11.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pgvectorscale&lt;/strong&gt; 0.4.0 → 0.6.0 (pgrx 0.12.5)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_session_jwt&lt;/strong&gt; 0.1.2 → 0.2.0 (pgrx 0.12.6)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;wrappers&lt;/strong&gt; 0.4.4 → 0.4.5 (pgrx 0.12.9)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_parquet&lt;/strong&gt; 0.2.0 → 0.3.1 (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;vchord&lt;/strong&gt; 0.2.1 → 0.2.2 (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_tle&lt;/strong&gt; 1.2.0 → 1.5.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;supautils&lt;/strong&gt; 2.5.0 → 2.6.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;sslutils&lt;/strong&gt; 1.3 → 1.4&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_profile&lt;/strong&gt; 4.7 → 4.8&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_snakeoil&lt;/strong&gt; 1.3 → 1.4&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_jsonschema&lt;/strong&gt; 0.3.2 → 0.3.3&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_incremental&lt;/strong&gt; 1.1.1 → 1.2.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_stat_monitor&lt;/strong&gt; 2.1.0 → 2.1.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ddl_historization&lt;/strong&gt; 0.7 → 0.0.7（错误修复）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_sqlog&lt;/strong&gt; 3.1.7 → 1.6（错误修复）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pg_random&lt;/strong&gt; 删除开发后缀（错误修复）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;asn1oid&lt;/strong&gt; 1.5 → 1.6&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;table_log&lt;/strong&gt; 0.6.1 → 0.6.4&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;接口变更&#34;&gt;接口变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;增加了新的 Docker 参数：&lt;code&gt;docker_data&lt;/code&gt; 和 &lt;code&gt;docker_storage_driver&lt;/code&gt;（&lt;a href=&#34;https://github.com/pgsty/pigsty/pull/521&#34;&gt;#521&lt;/a&gt; 由 &lt;a href=&#34;https://github.com/waitingsong&#34;&gt;@waitingsong&lt;/a&gt; 提供）&lt;/li&gt;&#xA;&lt;li&gt;增加了新的基础设施参数：&lt;code&gt;alertmanager_port&lt;/code&gt;，让您指定 AlertManager 端口&lt;/li&gt;&#xA;&lt;li&gt;增加了新的基础设施参数：&lt;code&gt;certbot_sign&lt;/code&gt;，在 nginx 初始化期间申请证书？（默认为 false）&lt;/li&gt;&#xA;&lt;li&gt;增加了新的基础设施参数：&lt;code&gt;certbot_email&lt;/code&gt;，指定通过 Certbot 请求证书时使用的邮箱&lt;/li&gt;&#xA;&lt;li&gt;增加了新的基础设施参数：&lt;code&gt;certbot_options&lt;/code&gt;，指定 Certbot 的额外参数&lt;/li&gt;&#xA;&lt;li&gt;更新 IvorySQL，从 IvorySQL 4.4 开始将其默认二进制文件放在 &lt;code&gt;/usr/ivory-4&lt;/code&gt; 下&lt;/li&gt;&#xA;&lt;li&gt;将 &lt;code&gt;pg_lc_ctype&lt;/code&gt; 和其他区域相关参数的默认值从 &lt;code&gt;en_US.UTF-8&lt;/code&gt; 更改为 &lt;code&gt;C&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;对于 PostgreSQL 17，如果使用 &lt;code&gt;UTF8&lt;/code&gt; 编码与 &lt;code&gt;C&lt;/code&gt; 或 &lt;code&gt;C.UTF-8&lt;/code&gt; 区域，PostgreSQL 的内置本地化规则现在优先&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;configure&lt;/code&gt; 自动检测 PG 版本和环境是否都支持 &lt;code&gt;C.utf8&lt;/code&gt;，并相应调整区域相关选项&lt;/li&gt;&#xA;&lt;li&gt;将默认 IvorySQL 二进制路径设置为 &lt;code&gt;/usr/ivory-4&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;更新 &lt;code&gt;pg_packages&lt;/code&gt; 的默认值为 &lt;code&gt;pgsql-main patroni pgbouncer pgbackrest pg_exporter pgbadger vip-manager&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;更新 &lt;code&gt;repo_packages&lt;/code&gt; 的默认值为 &lt;code&gt;[node-bootstrap, infra-package, infra-addons, node-package1, node-package2, pgsql-utility, extra-modules]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;从 &lt;code&gt;/etc/profile.d/node.sh&lt;/code&gt; 中删除 &lt;code&gt;LANG&lt;/code&gt; 和 &lt;code&gt;LC_ALL&lt;/code&gt; 环境变量设置&lt;/li&gt;&#xA;&lt;li&gt;现在使用 &lt;code&gt;bento/rockylinux-8&lt;/code&gt; 和 &lt;code&gt;bento/rockylinux-9&lt;/code&gt; 作为 EL 的 Vagrant box 镜像&lt;/li&gt;&#xA;&lt;li&gt;增加了新别名 &lt;code&gt;extra_modules&lt;/code&gt;，包含额外的可选模块&lt;/li&gt;&#xA;&lt;li&gt;更新 PostgreSQL 别名：&lt;code&gt;postgresql&lt;/code&gt;、&lt;code&gt;pgsql-main&lt;/code&gt;、&lt;code&gt;pgsql-core&lt;/code&gt;、&lt;code&gt;pgsql-full&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;GitLab 仓库现在包含在可用模块中&lt;/li&gt;&#xA;&lt;li&gt;Docker 模块已合并到基础设施模块中&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;node.yml&lt;/code&gt; playbook 现在包含 &lt;code&gt;node_pip&lt;/code&gt; 任务，在每个节点上配置 pip 镜像&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pgsql.yml&lt;/code&gt; playbook 现在包含 &lt;code&gt;pgbackrest_exporter&lt;/code&gt; 任务，用于收集备份指标&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Makefile&lt;/code&gt; 现在允许使用 &lt;code&gt;META&lt;/code&gt;/&lt;code&gt;PKG&lt;/code&gt; 环境变量&lt;/li&gt;&#xA;&lt;li&gt;增加 &lt;code&gt;/pg/spool&lt;/code&gt; 目录作为 pgBackRest 的临时存储&lt;/li&gt;&#xA;&lt;li&gt;默认禁用 pgBackRest 的 &lt;code&gt;link-all&lt;/code&gt; 选项&lt;/li&gt;&#xA;&lt;li&gt;默认为 MinIO 仓库启用块级增量备份&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;错误修复&#34;&gt;错误修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复 &lt;code&gt;pg-backup&lt;/code&gt; 中的退出状态码（&lt;a href=&#34;https://github.com/pgsty/pigsty/pull/532&#34;&gt;#532&lt;/a&gt; 由 &lt;a href=&#34;https://github.com/waitingsong&#34;&gt;@waitingsong&lt;/a&gt; 提供）&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;pg-tune-hugepage&lt;/code&gt; 中，限制 PostgreSQL 仅使用大页面（&lt;a href=&#34;https://github.com/pgsty/pigsty/pull/527&#34;&gt;#527&lt;/a&gt; 由 &lt;a href=&#34;https://github.com/waitingsong&#34;&gt;@waitingsong&lt;/a&gt; 提供）&lt;/li&gt;&#xA;&lt;li&gt;修复 &lt;code&gt;pg-role&lt;/code&gt; 任务中的逻辑错误&lt;/li&gt;&#xA;&lt;li&gt;纠正大页面配置参数的类型转换&lt;/li&gt;&#xA;&lt;li&gt;修复 &lt;code&gt;slim&lt;/code&gt; 模板中 &lt;code&gt;node_repo_modules&lt;/code&gt; 的默认值问题&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e75ae4f3-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;11&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e75ae4f3-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;768bea3bfc5d492f4c033cb019a81d3a  pigsty-v3.4.0.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7c3d47ef488a9c7961ca6579dc9543d6  pigsty-pkg-v3.4.0.d12.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;b5d76aefb1e1caa7890b3a37f6a14ea5  pigsty-pkg-v3.4.0.d12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;42dacf2f544ca9a02148aeea91f3153a  pigsty-pkg-v3.4.0.el8.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d0a694f6cd6a7f2111b0971a60c49ad0  pigsty-pkg-v3.4.0.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7caa82254c1b0750e89f78a54bf065f8  pigsty-pkg-v3.4.0.el9.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8f817e5fad708b20ee217eb2e12b99cb  pigsty-pkg-v3.4.0.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8b2fcaa6ef6fd8d2726f6eafbb488aaf  pigsty-pkg-v3.4.0.u22.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;83291db7871557566ab6524beb792636  pigsty-pkg-v3.4.0.u22.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c927238f0343cde82a4a9ab230ecd2ac  pigsty-pkg-v3.4.0.u24.aarch64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;14cbcb90693ed5de8116648a1f2c3e34  pigsty-pkg-v3.4.0.u24.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.4.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.4/&#34;&gt;Pigsty v3.4 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v340&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.3.0...v3.4.0&#34;&gt;源码对比：&lt;code&gt;v3.3.0...v3.4.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.3.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.3.0/</link>
        <pubDate>Mon, 24 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.3.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-02-24&#34;&gt;2025-02-24&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.3.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.3.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.3.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;可用扩展总数增加到 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;&lt;strong&gt;404&lt;/strong&gt;&lt;/a&gt;！&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 二月小版本更新：17.4、16.8、15.12、14.17、13.20&lt;/li&gt;&#xA;&lt;li&gt;新功能：&lt;code&gt;app.yml&lt;/code&gt; 脚本，用于自动安装 Odoo、Supabase、Dify 等应用。&lt;/li&gt;&#xA;&lt;li&gt;新功能：在 &lt;code&gt;infra_portal&lt;/code&gt; 中进一步自定义 Nginx 配置。&lt;/li&gt;&#xA;&lt;li&gt;新功能：增加 Certbot 支持，快速申请免费 HTTPS 证书。&lt;/li&gt;&#xA;&lt;li&gt;新功能：&lt;code&gt;pg_default_extensions&lt;/code&gt; 现在支持纯文本扩展列表。&lt;/li&gt;&#xA;&lt;li&gt;新功能：默认仓库现在包含 mongo、redis、groonga、haproxy 等。&lt;/li&gt;&#xA;&lt;li&gt;新参数：&lt;code&gt;node_aliases&lt;/code&gt;，为节点添加命令别名。&lt;/li&gt;&#xA;&lt;li&gt;修复：解决 Bootstrap 脚本中的默认 EPEL 仓库地址问题。&lt;/li&gt;&#xA;&lt;li&gt;改进：为 Debian Security 仓库添加阿里云镜像。&lt;/li&gt;&#xA;&lt;li&gt;改进：IvorySQL 内核的 pgBackRest 备份支持。&lt;/li&gt;&#xA;&lt;li&gt;改进：PolarDB 的 ARM64 和 Debian/Ubuntu 支持。&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 0.8.0 现在支持 pgbouncer 1.24 中的新指标。&lt;/li&gt;&#xA;&lt;li&gt;新功能：&lt;code&gt;git&lt;/code&gt;、&lt;code&gt;docker&lt;/code&gt;、&lt;code&gt;systemctl&lt;/code&gt; 等常用命令的自动补全 &lt;a href=&#34;https://github.com/pgsty/pigsty/pull/506&#34;&gt;#506&lt;/a&gt; &lt;a href=&#34;https://github.com/pgsty/pigsty/pull/507&#34;&gt;#507&lt;/a&gt; 由 &lt;a href=&#34;https://github.com/waitingsong&#34;&gt;@waitingsong&lt;/a&gt; 提供。&lt;/li&gt;&#xA;&lt;li&gt;改进：优化 &lt;code&gt;pgbouncer&lt;/code&gt; 配置模板中的 &lt;code&gt;ignore_startup_parameters&lt;/code&gt; &lt;a href=&#34;https://github.com/pgsty/pigsty/pull/488&#34;&gt;#488&lt;/a&gt; 由 &lt;a href=&#34;https://github.com/waitingsong&#34;&gt;@waitingsong&lt;/a&gt; 提供。&lt;/li&gt;&#xA;&lt;li&gt;新主页设计：Pigsty 的网站现在拥有全新的外观。&lt;/li&gt;&#xA;&lt;li&gt;扩展目录：RPM/DEB 二进制包的详细信息和下载链接。&lt;/li&gt;&#xA;&lt;li&gt;扩展构建：&lt;code&gt;pig&lt;/code&gt; CLI 现在自动设置 PostgreSQL 扩展构建环境。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;更多版本信息请参考 &lt;a href=&#34;https://github.com/pgsty/pigsty/releases&#34;&gt;GitHub 发布页面&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.2.2</title>
        <link>https://pgsty.pro/zh/blog/release/3.2.2/</link>
        <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.2.2/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.2.2&lt;/strong&gt; · &lt;time datetime=&#34;2025-01-23&#34;&gt;2025-01-23&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.2.2&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.2.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.2.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增扩展包: &lt;a href=&#34;https://pigsty.cc/ext/e/omni&#34;&gt;&lt;code&gt;Omnigres&lt;/code&gt;&lt;/a&gt; 33个扩展，将 postgres 作为应用开发平台&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/pg_mooncake&#34;&gt;&lt;code&gt;pg_mooncake&lt;/code&gt;&lt;/a&gt;：postgres 中的 duckdb&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/xxhash&#34;&gt;&lt;code&gt;pg_xxhash&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/timescaledb_toolkit&#34;&gt;&lt;code&gt;timescaledb_toolkit&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/pg_xenophile&#34;&gt;&lt;code&gt;pg_xenophile&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/pg_drop_events&#34;&gt;&lt;code&gt;pg_drop_events&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增扩展: &lt;a href=&#34;https://pigsty.cc/ext/e/pg_incremental&#34;&gt;&lt;code&gt;pg_incremental&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;升级 &lt;a href=&#34;https://github.com/citusdata/citus/tree/v13.0.0&#34;&gt;&lt;code&gt;citus&lt;/code&gt;&lt;/a&gt; 至13.0.0，支持 PostgreSQL 17&lt;/li&gt;&#xA;&lt;li&gt;升级 &lt;a href=&#34;https://github.com/postgresml/postgresml/releases/tag/v2.10.0&#34;&gt;&lt;code&gt;pgml&lt;/code&gt;&lt;/a&gt; 至2.10.0&lt;/li&gt;&#xA;&lt;li&gt;升级 &lt;a href=&#34;https://pigsty.cc/ext/e/pg_extra_time&#34;&gt;&lt;code&gt;pg_extra_time&lt;/code&gt;&lt;/a&gt; 至2.0.0&lt;/li&gt;&#xA;&lt;li&gt;升级 &lt;a href=&#34;https://pigsty.cc/ext/e/vectorize&#34;&gt;&lt;code&gt;pg_vectorize&lt;/code&gt;&lt;/a&gt; 至0.20.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;变更内容&#34;&gt;变更内容&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;升级 IvorySQL 至4.2版本(基于 PostgreSQL 17.2)&lt;/li&gt;&#xA;&lt;li&gt;为 PolarDB 内核添加 Arm64 和 Debian 支持&lt;/li&gt;&#xA;&lt;li&gt;在默认 &lt;code&gt;infra_packages&lt;/code&gt; 中添加 certbot 和 certbot-nginx&lt;/li&gt;&#xA;&lt;li&gt;增加 pgbouncer 的 max_prepared_statements 参数至256&lt;/li&gt;&#xA;&lt;li&gt;移除 &lt;code&gt;pgxxx-citus&lt;/code&gt; 包别名&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;pg_extensions&lt;/code&gt; 中默认隐藏 &lt;code&gt;pgxxx-olap&lt;/code&gt; 类别（因为存在两对扩展冲突）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.2.2&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.2/&#34;&gt;Pigsty v3.2 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v322&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.2.1...v3.2.2&#34;&gt;源码对比：&lt;code&gt;v3.2.1...v3.2.2&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.2.1</title>
        <link>https://pgsty.pro/zh/blog/release/3.2.1/</link>
        <pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.2.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.2.1&lt;/strong&gt; · &lt;time datetime=&#34;2025-01-12&#34;&gt;2025-01-12&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.2.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PG 扩展插件数量提升至350个，新增强力 Rust 扩展 anon。&lt;/li&gt;&#xA;&lt;li&gt;IvorySQL 支持更新至 PG17 兼容的4.0版本&lt;/li&gt;&#xA;&lt;li&gt;使用 Pigsty 编译的 Citus，TimescaleDB 与 PGroonga。&lt;/li&gt;&#xA;&lt;li&gt;添加 Odoo 一键自建模板与新 app.yml 剧本&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;新增 13 扩展插件：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.2.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.2.0/</link>
        <pubDate>Tue, 24 Dec 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.2.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.2.0&lt;/strong&gt; · &lt;time datetime=&#34;2024-12-24&#34;&gt;2024-12-24&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.2.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.2.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pigsty 命令行工具：&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;&lt;code&gt;pig&lt;/code&gt;&lt;/a&gt; 0.2.0，可用于管理扩展插件。&lt;/li&gt;&#xA;&lt;li&gt;提供五大发行版上 &lt;a href=&#34;https://pigsty.cc/ext/&#34;&gt;390 个扩展&lt;/a&gt; 的 ARM64 扩展支持&lt;/li&gt;&#xA;&lt;li&gt;Supabase 发布周最新版本更新，全发行版均可自建。&lt;/li&gt;&#xA;&lt;li&gt;Grafana 更新至 11.4，新增 infinity 数据源。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件包变化&#34;&gt;软件包变化&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;新增扩展&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.1.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.1.0/</link>
        <pubDate>Sun, 24 Nov 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.1.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.1.0&lt;/strong&gt; · &lt;time datetime=&#34;2024-11-24&#34;&gt;2024-11-24&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.1.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.1.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.1.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 17 现已成为默认使用的主要版本 (17.2)&lt;/li&gt;&#xA;&lt;li&gt;Ubuntu 24.04 系统支持&lt;/li&gt;&#xA;&lt;li&gt;arm 架构支持：EL9, Debian12, Ubuntu 22.04&lt;/li&gt;&#xA;&lt;li&gt;Supabase 一键自建，新的剧本 &lt;code&gt;supabase.yml&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;MinIO 最佳实践改进，配置模板与 Vagrant 模板&lt;/li&gt;&#xA;&lt;li&gt;提供了一系列开箱即用的配置模板与文档说明。&lt;/li&gt;&#xA;&lt;li&gt;允许在 &lt;code&gt;configure&lt;/code&gt; 过程中使用 &lt;code&gt;-v|--version&lt;/code&gt; 指定使用的 PG 大版本。&lt;/li&gt;&#xA;&lt;li&gt;调整 PG 默认插件策略：默认安装 &lt;code&gt;pg_repack&lt;/code&gt;, &lt;code&gt;wal2json&lt;/code&gt; 以及 &lt;code&gt;pgvector&lt;/code&gt; 三个关键扩展。&lt;/li&gt;&#xA;&lt;li&gt;大幅简化 &lt;code&gt;repo_packages&lt;/code&gt; 本地软件源构建逻辑，允许在 &lt;code&gt;repo_packages&lt;/code&gt; 中使用软件包组别名&lt;/li&gt;&#xA;&lt;li&gt;提供了 Babelfish，IvorySQL，PolarDB 的软件源镜像，简化三者的安装。&lt;/li&gt;&#xA;&lt;li&gt;默认启用数据库校验和。&lt;/li&gt;&#xA;&lt;li&gt;修复 ETCD 与 MINIO 日志面板&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件升级&#34;&gt;软件升级&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 17.2, 16.6, 15.10, 14.15, 13.18, 12.22&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 扩展版本变动请参考：/ext/&lt;/li&gt;&#xA;&lt;li&gt;Patroni 4.0.4&lt;/li&gt;&#xA;&lt;li&gt;MinIO 20241107 / MCLI 20241117&lt;/li&gt;&#xA;&lt;li&gt;Rclone 1.68.2&lt;/li&gt;&#xA;&lt;li&gt;Prometheus: 2.54.0 -&amp;gt; 3.0.0&lt;/li&gt;&#xA;&lt;li&gt;VictoriaMetrics 1.102.1 -&amp;gt; 1.106.1&lt;/li&gt;&#xA;&lt;li&gt;VictoriaLogs v0.28.0 -&amp;gt; 1.0.0&lt;/li&gt;&#xA;&lt;li&gt;vslogcli 1.0.0&lt;/li&gt;&#xA;&lt;li&gt;MySQL Exporter 0.15.1 -&amp;gt; 0.16.0&lt;/li&gt;&#xA;&lt;li&gt;Redis Exporter 1.62.0 -&amp;gt; 1.66.0&lt;/li&gt;&#xA;&lt;li&gt;MongoDB Exporter 0.41.2 -&amp;gt; 0.42.0&lt;/li&gt;&#xA;&lt;li&gt;Keepalived Exporter 1.3.3 -&amp;gt; 1.4.0&lt;/li&gt;&#xA;&lt;li&gt;DuckDB 1.1.2 -&amp;gt; 1.1.3&lt;/li&gt;&#xA;&lt;li&gt;etcd 3.5.16 -&amp;gt; 3.5.17&lt;/li&gt;&#xA;&lt;li&gt;tigerbeetle 16.8 -&amp;gt; 0.16.13&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变更&#34;&gt;API 变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;repo_upstream&lt;/code&gt;：针对每个具体的操作系统发行版生成默认值：&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/main/roles/node_id/vars&#34;&gt;&lt;code&gt;roles/node_id/vars&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;repo_packages&lt;/code&gt;：允许使用 &lt;code&gt;package_map&lt;/code&gt; 中定义的别名。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;repo_extra_packages&lt;/code&gt;：新增未指定时的默认值，允许使用 &lt;code&gt;package_map&lt;/code&gt; 中定义的别名。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_checksum&lt;/code&gt;：默认值修改为 &lt;code&gt;true&lt;/code&gt;，默认打开。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_packages&lt;/code&gt;：默认值修改为：&lt;code&gt;postgresql, wal2json pg_repack pgvector, patroni pgbouncer pgbackrest pg_exporter pgbadger vip-manager&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_extensions&lt;/code&gt;：默认值修改为空数组 &lt;code&gt;[]&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;infra_portal&lt;/code&gt;：允许为 &lt;code&gt;home&lt;/code&gt; 服务器指定 &lt;code&gt;path&lt;/code&gt;，替代默认的本地仓库路径 &lt;code&gt;nginx_home&lt;/code&gt; (&lt;code&gt;/www&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;校验和&#34;&gt;校验和&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-251f3bb7-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-251f3bb7-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;e62f9ce9f89a58958609da7b234bf2f2  pigsty-v3.1.0.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.1.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.1/&#34;&gt;Pigsty v3.1 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v310&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.0.4...v3.1.0&#34;&gt;源码对比：&lt;code&gt;v3.0.4...v3.1.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.0.4</title>
        <link>https://pgsty.pro/zh/blog/release/3.0.4/</link>
        <pubDate>Mon, 28 Oct 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.0.4/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.0.4&lt;/strong&gt; · &lt;time datetime=&#34;2024-10-28&#34;&gt;2024-10-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.4&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.4.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.4.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;特性&#34;&gt;特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;针对 PostgreSQL 17 编译了所有支持的 Pigsty 扩展插件&lt;/li&gt;&#xA;&lt;li&gt;提供了全新的 OLAP 扩展支持：&lt;code&gt;pg_duckdb&lt;/code&gt; 与 &lt;code&gt;pg_parquet&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;简化并优化了最新版本 Supabase 自建的流程&lt;/li&gt;&#xA;&lt;li&gt;新增参数 &lt;code&gt;docker_image&lt;/code&gt;，允许在 Docker 安装后自动拉取镜像。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;扩展&#34;&gt;扩展&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;欢迎查阅我们最新的 PostgreSQL 扩展目录： /ext/&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.0.3</title>
        <link>https://pgsty.pro/zh/blog/release/3.0.3/</link>
        <pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.0.3/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.0.3&lt;/strong&gt; · &lt;time datetime=&#34;2024-09-27&#34;&gt;2024-09-27&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.3&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.3.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.3.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;特性&#34;&gt;特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;提供对最新发布的 PostgreSQL 17 支持。&lt;/li&gt;&#xA;&lt;li&gt;优化了 etcd 配置，监控，与告警规则&lt;/li&gt;&#xA;&lt;li&gt;（Oracle 兼容的）IvorySQL 3.4 支持，与 PostgreSQL 16.4 同步&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;版本升级&#34;&gt;版本升级&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostGIS 3.5&lt;/li&gt;&#xA;&lt;li&gt;Grafana 11.2&lt;/li&gt;&#xA;&lt;li&gt;duckdb 1.1&lt;/li&gt;&#xA;&lt;li&gt;pg_search 0.10.2&lt;/li&gt;&#xA;&lt;li&gt;pg_analytics 0.1.4&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.3&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.0/&#34;&gt;Pigsty v3.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v303&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.0.2...v3.0.3&#34;&gt;源码对比：&lt;code&gt;v3.0.2...v3.0.3&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.0.2</title>
        <link>https://pgsty.pro/zh/blog/release/3.0.2/</link>
        <pubDate>Sat, 07 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.0.2/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.0.2&lt;/strong&gt; · &lt;time datetime=&#34;2024-09-07&#34;&gt;2024-09-07&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.2&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.2.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.2.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;特性&#34;&gt;特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.io/docs/setup/slim/&#34;&gt;精简安装模式&lt;/a&gt;：使用 &lt;code&gt;slim.yml&lt;/code&gt; 进行最精简的 HA PGSQL 部署。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/ApsaraDB/PolarDB-for-PostgreSQL&#34;&gt;PolarDB PG 15&lt;/a&gt; 的原生支持。&lt;/li&gt;&#xA;&lt;li&gt;优化 &lt;code&gt;monitor.pg_table_bloat&lt;/code&gt; 与 &lt;code&gt;monitor.pg_index_bloat&lt;/code&gt;，使用安全定义包装函数规避 PolarDB 统计视图权限问题。&lt;/li&gt;&#xA;&lt;li&gt;在各模块的监控注册阶段，尊重 &lt;code&gt;prometheus_enabled&lt;/code&gt; 与 &lt;code&gt;grafana_enabled&lt;/code&gt; 配置选项，关闭时不再注册。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;/etc/profile.d/pgsql.sh&lt;/code&gt; 中添加 &lt;code&gt;PGDATABASE&lt;/code&gt; 与 &lt;code&gt;PGPORT&lt;/code&gt; 环境变量，设置为 &lt;code&gt;pg_primary_db&lt;/code&gt;（默认 &lt;code&gt;postgres&lt;/code&gt;）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;变更&#34;&gt;变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在 Pigsty PGSQL 仓库中移除 PolarDB 11 与 CloudberryDB 1.5.4 的 RPM/APT 包。&lt;/li&gt;&#xA;&lt;li&gt;使用专用的仓库分发 PolarDB 15 与 CloudberryDB 1.6.0 的 RPM/APT 包。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复 Redis 的 &lt;code&gt;/etc/tmp.files.d&lt;/code&gt; 文件名错误。&lt;/li&gt;&#xA;&lt;li&gt;在管理 pgbouncer 用户时，设置 &lt;code&gt;PGHOST&lt;/code&gt; 与 &lt;code&gt;PGPORT&lt;/code&gt; 环境变量。&lt;/li&gt;&#xA;&lt;li&gt;临时移除 &lt;code&gt;pg_snakeoil&lt;/code&gt; 扩展支持，因为 EL8 上游源 &lt;code&gt;clamv&lt;/code&gt; 出现依赖缺失问题。&lt;/li&gt;&#xA;&lt;li&gt;移除 &lt;code&gt;pgsql&lt;/code&gt; 角色的 Notify / Handler，以兼容更老的 Ansible 2.9 版本。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.2&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.0/&#34;&gt;Pigsty v3.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v302&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.0.1...v3.0.2&#34;&gt;源码对比：&lt;code&gt;v3.0.1...v3.0.2&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.0.1</title>
        <link>https://pgsty.pro/zh/blog/release/3.0.1/</link>
        <pubDate>Sat, 31 Aug 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.0.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.0.1&lt;/strong&gt; · &lt;time datetime=&#34;2024-08-31&#34;&gt;2024-08-31&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;特性改进&#34;&gt;特性改进&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PolarDB Oracle 兼容性模式支持（需要第三方商业闭源内核）&lt;/li&gt;&#xA;&lt;li&gt;使用 Oracle 兼容的 SQL 语法改写监控视图与相关 SQL 语句&lt;/li&gt;&#xA;&lt;li&gt;Patroni &lt;a href=&#34;https://patroni.readthedocs.io/en/latest/releases.html&#34;&gt;4&lt;/a&gt; 支持与适配&lt;/li&gt;&#xA;&lt;li&gt;新增扩展 &lt;code&gt;pg_analytics&lt;/code&gt;，通过 duckdb 为 PG 加装分析能力&lt;/li&gt;&#xA;&lt;li&gt;添加新扩展：&lt;code&gt;odbc_fdw&lt;/code&gt; 与 &lt;code&gt;jdbc_fdw&lt;/code&gt;，提供通用的外部数据源连接能力&lt;/li&gt;&#xA;&lt;li&gt;仓库添加新内核 &lt;code&gt;cloudberrydb&lt;/code&gt; (Greenplum 原班开发者的开源分支)&lt;/li&gt;&#xA;&lt;li&gt;仓库添加新工具 &lt;code&gt;walminer&lt;/code&gt;，从 WAL（replica 等级）中提取原始 SQL。（高级特性需自行购买 License）&lt;/li&gt;&#xA;&lt;li&gt;更新执行计划可视化工具 Pev2 版本至 1.12.1&lt;/li&gt;&#xA;&lt;li&gt;新增 Grafana 插件：&lt;code&gt;volkovlabs-rss-datasource&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;在 PGCAT databases 监控面板中添加了已安装和待安装的扩展插件&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 主库初始化后，会重启一次以便 pg_param &amp;amp; pg_files 生效，因此 Supabase PG / PolarDB 集群置备后无需重启。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复了 Grafana 11.1.4 面板插件默认不加载的问题&lt;/li&gt;&#xA;&lt;li&gt;修复了特定操作系统上 BlackBox Exporter Ping 探针失效的问题&lt;/li&gt;&#xA;&lt;li&gt;确保 /var/run/postgresql 与 /var/run/redis 临时目录总是在重启后自动创建&lt;/li&gt;&#xA;&lt;li&gt;修复了 &lt;code&gt;cache.yml&lt;/code&gt; 剧本没有正确移除老旧的 patroni 3.0.4 RPM 包问题&lt;/li&gt;&#xA;&lt;li&gt;修复了个别告警规则中的描述信息错误&lt;/li&gt;&#xA;&lt;li&gt;移除了 Patroni 配置文件中过时的 Bootstrap User/HBA 参数&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v3.0/&#34;&gt;Pigsty v3.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v301&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v3.0.0...v3.0.1&#34;&gt;源码对比：&lt;code&gt;v3.0.0...v3.0.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v3.0.0</title>
        <link>https://pgsty.pro/zh/blog/release/3.0.0/</link>
        <pubDate>Wed, 28 Aug 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/3.0.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v3.0.0&lt;/strong&gt; · &lt;time datetime=&#34;2024-08-28&#34;&gt;2024-08-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v3.0.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v3.0.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;扩展大爆炸&lt;/strong&gt;：&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pigsty v3 提供了史无前例的 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;&lt;strong&gt;333&lt;/strong&gt;&lt;/a&gt; 个可用扩展插件。&#xA;包括 &lt;strong&gt;121&lt;/strong&gt; 个扩展 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;&lt;strong&gt;RPM包&lt;/strong&gt;&lt;/a&gt; 与 &lt;strong&gt;133&lt;/strong&gt; 个 &lt;a href=&#34;https://pgsty.pro/zh/docs/pgsql/ext/&#34;&gt;&lt;strong&gt;DEB包&lt;/strong&gt;&lt;/a&gt;，数量已经超过了 PGDG 官方仓库提供的扩展数量总和（135 RPM/ 109 DEB）。&#xA;而且，Pigsty 还将 EL 系统与 Debian 生态的独有 PG 扩展插件相互移植，实现了两大发行版的插件生态大对齐。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.7.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.7.0/</link>
        <pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.7.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.7.0&lt;/strong&gt; · &lt;time datetime=&#34;2024-05-16&#34;&gt;2024-05-16&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.7.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.7.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.7.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;新增了大量强力扩展插件，特别是一些使用 &lt;code&gt;rust&lt;/code&gt; 与 &lt;code&gt;pgrx&lt;/code&gt; 进行开发的强力扩展：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/pg_search&#34;&gt;pg_search&lt;/a&gt; v0.7.0：使用 BM25 算法对 SQL 表进行全文搜索&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/pg_lakehouse&#34;&gt;pg_lakehouse&lt;/a&gt; v0.7.0：在对象存储（如 S3）和表格式（如 DeltaLake）上进行查询的引擎&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/paradedb/pg_analytics&#34;&gt;pg_analytics&lt;/a&gt; v0.6.1：加速 PostgreSQL 内部的分析查询处理&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/supabase/pg_graphql&#34;&gt;pg_graphql&lt;/a&gt; v1.5.4：为 PostgreSQL 数据库提供 GraphQL 支持&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/supabase/pg_jsonschema&#34;&gt;pg_jsonschema&lt;/a&gt; v0.3.1：提供 JSON Schema 校验的 PostgreSQL 扩展&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/supabase/wrappers&#34;&gt;wrappers&lt;/a&gt; v0.3.1：由 Supabase 提供的 PostgreSQL 外部数据封装器集合&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/tembo-io/pgmq&#34;&gt;pgmq&lt;/a&gt; v1.5.2：轻量级消息队列，类似于 AWS SQS 和 RSMQ&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/tembo-io/pg_tier&#34;&gt;pg_tier&lt;/a&gt; v0.0.3：支将将冷数据分级存储到 AWS S3&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/tembo-io/pg_vectorize&#34;&gt;pg_vectorize&lt;/a&gt; v0.15.0: 在 PG 中实现 RAG 向量检索的封装&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/tembo-io/pg_later&#34;&gt;pg_later&lt;/a&gt; v0.1.0：现在执行 SQL，并在稍后获取结果&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VADOSWARE/pg_idkit&#34;&gt;pg_idkit&lt;/a&gt; v0.2.3：生成多种流行类型的标识符（UUID）&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kaspermarstal/plprql&#34;&gt;plprql&lt;/a&gt; v0.1.0：在 PostgreSQL 中使用 PRQL 查询语言&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/zhuobie/pgsmcrypto&#34;&gt;pgsmcrypto&lt;/a&gt; v0.1.0：PostgreSQL 的国密 SM 算法扩展&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/kelvich/pg_tiktoken&#34;&gt;pg_tiktoken&lt;/a&gt; v0.0.1：计算 OpenAI 使用的 Token 数量&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/rustprooflabs/pgdd&#34;&gt;pgdd&lt;/a&gt; v0.5.2：通过纯 SQL 接口，访问数据目录的元数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;当然，也有一些使用原生 C 和 C++ 开发的强力扩展：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.6.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.6.0/</link>
        <pubDate>Thu, 29 Feb 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.6.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.6.0&lt;/strong&gt; · &lt;time datetime=&#34;2024-02-29&#34;&gt;2024-02-29&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.6.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.6.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.6.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现已将 PostgreSQL 16 作为默认主要版本（16.2）&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;a href=&#34;https://www.paradedb.com/&#34;&gt;ParadeDB&lt;/a&gt; 扩展插件：&lt;code&gt;pg_analytics&lt;/code&gt;, &lt;code&gt;pg_bm25&lt;/code&gt;, and &lt;code&gt;pg_sparse&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;a href=&#34;https://duckdb.org/&#34;&gt;DuckDB&lt;/a&gt; 与 &lt;code&gt;duckdb_fdw&lt;/code&gt; 插件支持&lt;/li&gt;&#xA;&lt;li&gt;全球 Cloudflare CDN &lt;a href=&#34;https://repo.pigsty.io&#34;&gt;https://repo.pigsty.io&lt;/a&gt; 与中国大陆 CDN &lt;a href=&#34;https://repo.pigsty.cc&#34;&gt;https://repo.pigsty.cc&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件配置变更&#34;&gt;软件配置变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;使用 &lt;code&gt;node_repo_modules&lt;/code&gt; 替换 &lt;code&gt;node_repo_method&lt;/code&gt; 参数，并移除 &lt;code&gt;node_repo_local_urls&lt;/code&gt; 参数。&lt;/li&gt;&#xA;&lt;li&gt;暂时关闭 Grafana 统一告警功能，避免 &amp;ldquo;Database Locked&amp;rdquo; 错误。&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;code&gt;node_repo_modules&lt;/code&gt; 参数，用于指定在节点上添加的上游仓库源。&lt;/li&gt;&#xA;&lt;li&gt;移除 &lt;code&gt;node_local_repo_urls&lt;/code&gt;，其功能由 &lt;code&gt;node_repo_modules&lt;/code&gt; &amp;amp; &lt;code&gt;repo_upstream&lt;/code&gt; 替代。&lt;/li&gt;&#xA;&lt;li&gt;移除 &lt;code&gt;node_repo_method&lt;/code&gt; 参数，其功能由 &lt;code&gt;node_repo_modules&lt;/code&gt; 替代。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;repo_upstream&lt;/code&gt; 添加新的 &lt;code&gt;local&lt;/code&gt; 源，并通过 &lt;code&gt;node_repo_modules&lt;/code&gt; 使用，替代 &lt;code&gt;node_local_repo_urls&lt;/code&gt; 的功能&lt;/li&gt;&#xA;&lt;li&gt;重排 &lt;code&gt;node_default_packages&lt;/code&gt;，&lt;code&gt;infra_packages&lt;/code&gt;，&lt;code&gt;pg_packages&lt;/code&gt;，&lt;code&gt;pg_extensions&lt;/code&gt; 参数默认值。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;repo_upstream&lt;/code&gt; 中替换 &lt;code&gt;repo_upstream.baseurl&lt;/code&gt; 时，如果 EL8/9 PGDG 小版本特定的仓库可用，使用 &lt;code&gt;major.minor&lt;/code&gt; 而不是 &lt;code&gt;major&lt;/code&gt; 替换 $releasever，提高小版本兼容性。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件版本升级&#34;&gt;软件版本升级&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana 10.3&lt;/li&gt;&#xA;&lt;li&gt;Prometheus 2.47&lt;/li&gt;&#xA;&lt;li&gt;node_exporter 1.7.0&lt;/li&gt;&#xA;&lt;li&gt;HAProxy 2.9.5&lt;/li&gt;&#xA;&lt;li&gt;Loki / Promtail 2.9.4&lt;/li&gt;&#xA;&lt;li&gt;minio-20240216110548 / mcli-20240217011557&lt;/li&gt;&#xA;&lt;li&gt;etcd 3.5.11&lt;/li&gt;&#xA;&lt;li&gt;Redis 7.2.4&lt;/li&gt;&#xA;&lt;li&gt;Bytebase 2.13.2&lt;/li&gt;&#xA;&lt;li&gt;DuckDB 0.10.0&lt;/li&gt;&#xA;&lt;li&gt;FerretDB 1.19&lt;/li&gt;&#xA;&lt;li&gt;Metabase：新 Docker 应用模板&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;postgresql-扩展插件&#34;&gt;PostgreSQL 扩展插件&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 小版本升级： 16.2, 15.6, 14.11, 13.14, 12.18&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 16： 现在被提升为默认主版本&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 0.6.1：安全修复&lt;/li&gt;&#xA;&lt;li&gt;Patroni 3.2.2&lt;/li&gt;&#xA;&lt;li&gt;pgBadger 12.4&lt;/li&gt;&#xA;&lt;li&gt;pgBackRest 2.50&lt;/li&gt;&#xA;&lt;li&gt;vip-manager 2.3.0&lt;/li&gt;&#xA;&lt;li&gt;PostGIS 3.4.2&lt;/li&gt;&#xA;&lt;li&gt;TimescaleDB 2.14.1&lt;/li&gt;&#xA;&lt;li&gt;向量扩展 PGVector 0.6.0：新增并行创建 HNSW 索引功能&lt;/li&gt;&#xA;&lt;li&gt;新增扩展插件 &lt;a href=&#34;https://github.com/alitrack/duckdb_fdw&#34;&gt;duckdb_fdw&lt;/a&gt; v1.1，支持读写 DuckDB 数据 v1.1&lt;/li&gt;&#xA;&lt;li&gt;新增扩展插件 &lt;a href=&#34;https://github.com/pramsey/pgsql-gzip&#34;&gt;pgsql-gzip&lt;/a&gt;，用于支持 Gzip 压缩解压缩 v1.0.0&lt;/li&gt;&#xA;&lt;li&gt;新增扩展插件 &lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/pg_sparse&#34;&gt;pg_sparse&lt;/a&gt;，高效处理稀疏向量（ParadeDB） v0.5.6&lt;/li&gt;&#xA;&lt;li&gt;新增扩展插件 &lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/pg_bm25&#34;&gt;pg_bm25&lt;/a&gt;，用于支持高质量全文检索 BM25 算法的插件（ParadeDB） v0.5.6&lt;/li&gt;&#xA;&lt;li&gt;新增扩展插件 &lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/pg_analytics&#34;&gt;pg_analytics&lt;/a&gt;，支持 SIMD 与列式存储的 PG 分析插件（ParadeDB） v0.5.6&lt;/li&gt;&#xA;&lt;li&gt;升级 AIML 插件 &lt;a href=&#34;https://github.com/postgresml/postgresml&#34;&gt;pgml&lt;/a&gt; 至 v2.8.1，新增 PG 16 支持。&lt;/li&gt;&#xA;&lt;li&gt;升级列式存储插件 &lt;a href=&#34;https://github.com/hydradatabase/&#34;&gt;hydra&lt;/a&gt; 版本至 v1.1.1，新增 PG 16 支持。&lt;/li&gt;&#xA;&lt;li&gt;升级图扩展插件 &lt;a href=&#34;https://github.com/apache/age&#34;&gt;age&lt;/a&gt; 至 v1.5.0，新增 PG 16 支持。&lt;/li&gt;&#xA;&lt;li&gt;升级 GraphQL 插件 &lt;a href=&#34;https://github.com/supabase/pg_graphql&#34;&gt;pg_graphql&lt;/a&gt; 版本至 v1.5.0，支持 Supabase。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-85b85339-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;8&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-85b85339-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;330e9bc16a2f65d57264965bf98174ff  pigsty-v2.6.0.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;81abcd0ced798e1198740ab13317c29a  pigsty-pkg-v2.6.0.debian11.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7304f4458c9abd3a14245eaf72f4eeb4  pigsty-pkg-v2.6.0.debian12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;f914fbb12f90dffc4e29f183753736bb  pigsty-pkg-v2.6.0.el7.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fc23d122d0743d1c1cb871ca686449c0  pigsty-pkg-v2.6.0.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9d258dbcecefd232f3a18bcce512b75e  pigsty-pkg-v2.6.0.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;901ee668621682f99799de8932fb716c  pigsty-pkg-v2.6.0.ubuntu20.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;39872cf774c1fe22697c428be2fc2c22  pigsty-pkg-v2.6.0.ubuntu22.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.6.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.6/&#34;&gt;Pigsty v2.6 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v260&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.5.1...v2.6.0&#34;&gt;源码对比：&lt;code&gt;v2.5.1...v2.6.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.5.1</title>
        <link>https://pgsty.pro/zh/blog/release/2.5.1/</link>
        <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.5.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.5.1&lt;/strong&gt; · &lt;time datetime=&#34;2023-12-01&#34;&gt;2023-12-01&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.5.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;跟进 PostgreSQL v16.1, v15.5, 14.10, 13.13, 12.17, 11.22 小版本例行更新。&lt;/p&gt;&#xA;&lt;p&gt;现在 PostgreSQL 16 的所有重要扩展已经就位（新增 &lt;code&gt;pg_repack&lt;/code&gt; 与 &lt;code&gt;timescaledb&lt;/code&gt; 支持）&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;软件更新：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL to v16.1, v15.5, 14.10, 13.13, 12.17, 11.22&lt;/li&gt;&#xA;&lt;li&gt;Patroni v3.2.0&lt;/li&gt;&#xA;&lt;li&gt;PgBackrest v2.49&lt;/li&gt;&#xA;&lt;li&gt;Citus 12.1&lt;/li&gt;&#xA;&lt;li&gt;TimescaleDB 2.13&lt;/li&gt;&#xA;&lt;li&gt;Grafana v10.2.0&lt;/li&gt;&#xA;&lt;li&gt;FerretDB 1.15&lt;/li&gt;&#xA;&lt;li&gt;SealOS 4.3.7&lt;/li&gt;&#xA;&lt;li&gt;Bytebase 2.11.1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;移除  PGCAT 监控面板中查询对 &lt;code&gt;monitor&lt;/code&gt; 模式前缀（允许用户将 &lt;code&gt;pg_stat_statements&lt;/code&gt; 扩展装到别的地方）&lt;/li&gt;&#xA;&lt;li&gt;新的配置模板 &lt;code&gt;wool.yml&lt;/code&gt;，为阿里云免费99 ECS 单机针对设计。&lt;/li&gt;&#xA;&lt;li&gt;为 EL9 新增 &lt;code&gt;python3-jmespath&lt;/code&gt; 软件包，解决 Ansible 依赖更新后 bootstrap 缺少 jmespath 的问题&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-8c61c5be-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;7&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-8c61c5be-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;31ee48df1007151009c060e0edbd74de  pigsty-pkg-v2.5.1.el7.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;a40f1b864ae8a19d9431bcd8e74fa116  pigsty-pkg-v2.5.1.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;c976cd4431fc70367124fda4e2eac0a7  pigsty-pkg-v2.5.1.el9.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7fc1b5bdd3afa267a5fc1d7cb1f3c9a7  pigsty-pkg-v2.5.1.debian11.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;add0731dc7ed37f134d3cb5b6646624e  pigsty-pkg-v2.5.1.debian12.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;99048d09fa75ccb8db8e22e2a3b41f28  pigsty-pkg-v2.5.1.ubuntu20.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;431668425f8ce19388d38e5bfa3a948c  pigsty-pkg-v2.5.1.ubuntu22.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.5.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.5/&#34;&gt;Pigsty v2.5 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v251&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.5.0...v2.5.1&#34;&gt;源码对比：&lt;code&gt;v2.5.0...v2.5.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.5.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.5.0/</link>
        <pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.5.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-10-24&#34;&gt;2023-10-24&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.5.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.5.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-3ec0ae2a-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-3ec0ae2a-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl https://get.pigsty.cc/latest &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v2.5.0/files/pigsty/ubuntu.yml&#34;&gt;Ubuntu&lt;/a&gt; / &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v2.5.0/files/pigsty/debian.yml&#34;&gt;Debian&lt;/a&gt;  支持： bullseye, bookworm, jammy, focal&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用 CDN &lt;code&gt;repo.pigsty.cc&lt;/code&gt; 软件源，提供 rpm/deb 软件包下载。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Anolis 操作系统支持（兼容 EL 8.8）。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.4.1</title>
        <link>https://pgsty.pro/zh/blog/release/2.4.1/</link>
        <pubDate>Sun, 24 Sep 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.4.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.4.1&lt;/strong&gt; · &lt;time datetime=&#34;2023-09-24&#34;&gt;2023-09-24&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.4.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.4.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.4.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://supabase.com/&#34;&gt;Supabase&lt;/a&gt; 支持：开源的 Firebase 替代，现可使用 Pigsty 本地托管的 PostgreSQL 实例作为数据存储。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://postgresml.org/&#34;&gt;PostgresML&lt;/a&gt; 支持：使用 SQL 完成经典机器学习算法，训练、微调、调用大语言模型（hugging face）。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/FerretDB/FerretDB&#34;&gt;FerretDB&lt;/a&gt; v1.10 支持，在 PostgreSQL 上提供 MongoDB API 与协议兼容能力。&lt;/li&gt;&#xA;&lt;li&gt;GraphQL 扩展: &lt;a href=&#34;https://github.com/supabase/pg_graphql&#34;&gt;&lt;code&gt;pg_graphql&lt;/code&gt;&lt;/a&gt;：从现有模式中反射出 GraphQL 模式，提供库内 GraphQL 查询能力。&lt;/li&gt;&#xA;&lt;li&gt;JWT 支持扩展：&lt;a href=&#34;https://github.com/michelp/pgjwt&#34;&gt;&lt;code&gt;pgjwt&lt;/code&gt;&lt;/a&gt; 允许您使用 SQL 验证签发 JWT (JSON Web Tokens)。&lt;/li&gt;&#xA;&lt;li&gt;密钥存储扩展: &lt;a href=&#34;https://github.com/supabase/vault&#34;&gt;&lt;code&gt;vault&lt;/code&gt;&lt;/a&gt; 可以在提供一个安全存储加密密钥的保险柜。&lt;/li&gt;&#xA;&lt;li&gt;数据恢复扩展：&lt;a href=&#34;https://github.com/df7cb/pg_filedump&#34;&gt;&lt;code&gt;pg_filedump&lt;/code&gt;&lt;/a&gt;：可用于快速从 PostgreSQL 二进制文件中恢复数据&lt;/li&gt;&#xA;&lt;li&gt;图数据库扩展：Apache &lt;a href=&#34;https://age.apache.org/&#34;&gt;&lt;code&gt;age&lt;/code&gt;&lt;/a&gt;，为 PostgreSQL 添加 OpenCypher 查询支持，类似 Neo4J&lt;/li&gt;&#xA;&lt;li&gt;中文分词扩展：&lt;a href=&#34;https://github.com/amutu/zhparser&#34;&gt;&lt;code&gt;zhparser&lt;/code&gt;&lt;/a&gt;，为中文全文检索提供分词能力，类似 ElasticSearch。&lt;/li&gt;&#xA;&lt;li&gt;高效位图扩展：&lt;a href=&#34;https://github.com/ChenHuajun/pg_roaringbitmap&#34;&gt;&lt;code&gt;pg_roaringbitmap&lt;/code&gt;&lt;/a&gt;，在 PostgreSQL 中提供 roaring bitmap 的支持，高效计数聚合统计。&lt;/li&gt;&#xA;&lt;li&gt;向量嵌入替代：&lt;a href=&#34;https://github.com/neondatabase/pg_embedding&#34;&gt;&lt;code&gt;pg_embedding&lt;/code&gt;&lt;/a&gt;，提供了不同于 pgvector 的另一种 HNSW 替代实现。&lt;/li&gt;&#xA;&lt;li&gt;可信语言扩展：&lt;a href=&#34;https://github.com/aws/pg_tle&#34;&gt;&lt;code&gt;pg_tle&lt;/code&gt;&lt;/a&gt;，由 AWS 出品的，允许您打包分发管理由可信存储过程语言编写的函数。&lt;/li&gt;&#xA;&lt;li&gt;HTTP 客户端扩展：&lt;a href=&#34;https://github.com/pramsey/pgsql-http&#34;&gt;&lt;code&gt;pgsql-http&lt;/code&gt;&lt;/a&gt;：使用 SQL 接口，curl API，发起 HTTP 请求，与各类系统交互。&lt;/li&gt;&#xA;&lt;li&gt;异步 HTTP 扩展： &lt;a href=&#34;https://github.com/supabase/pg_net&#34;&gt;&lt;code&gt;pg_net&lt;/code&gt;&lt;/a&gt; 允许您使用 SQL 发起非阻塞的 HTTP/HTTPS 请求。&lt;/li&gt;&#xA;&lt;li&gt;列式存储引擎：&lt;a href=&#34;https://www.hydra.so/&#34;&gt;&lt;code&gt;hydra&lt;/code&gt;&lt;/a&gt; 针对分析场景打造的向量化列存储引擎，原地替代 Citus 列存插件。&lt;/li&gt;&#xA;&lt;li&gt;其他 PGDG 扩展：新收录8个由 PGDG 维护的扩展插件，Pigsty 支持的插件总数达到 150+。&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL 16 内核支持，监控云端 RDS / PolarDB for PostgreSQL。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;亮点特性&#34;&gt;亮点特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://supabase.com/&#34;&gt;Supabase&lt;/a&gt; 支持：开源的 Firebase 替代，现可使用 Pigsty 托管的 PostgreSQL 实例存储数据。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://postgresml.org/&#34;&gt;PostgresML&lt;/a&gt; 支持：在 PostgreSQL 运行各类模型（hugging face），向量操作，经典机器学习算法。&lt;/li&gt;&#xA;&lt;li&gt;GraphQL 支持扩展: &lt;a href=&#34;https://github.com/supabase/pg_graphql&#34;&gt;&lt;code&gt;pg_graphql&lt;/code&gt;&lt;/a&gt;：从现有模式中反射出 GraphQL 模式，提供库内 GraphQL 查询能力。&lt;/li&gt;&#xA;&lt;li&gt;异步 HTTP 客户端扩展： &lt;a href=&#34;https://github.com/supabase/pg_net&#34;&gt;&lt;code&gt;pg_net&lt;/code&gt;&lt;/a&gt; 允许您使用 SQL 发起非阻塞的 HTTP/HTTPS 请求&lt;/li&gt;&#xA;&lt;li&gt;JWT 支持扩展：&lt;a href=&#34;https://github.com/michelp/pgjwt&#34;&gt;&lt;code&gt;pgjwt&lt;/code&gt;&lt;/a&gt; 允许您使用 SQL 验证签发 JWT (JSON Web Tokens)&lt;/li&gt;&#xA;&lt;li&gt;密钥存储扩展: &lt;a href=&#34;https://github.com/supabase/vault&#34;&gt;&lt;code&gt;vault&lt;/code&gt;&lt;/a&gt; 可以在保险柜里存储加密密钥&lt;/li&gt;&#xA;&lt;li&gt;将 &lt;a href=&#34;https://github.com/FerretDB/FerretDB&#34;&gt;FerretDB&lt;/a&gt; 版本升级至 v1.10&lt;/li&gt;&#xA;&lt;li&gt;新增组件：&lt;a href=&#34;https://github.com/df7cb/pg_filedump&#34;&gt;&lt;code&gt;pg_filedump&lt;/code&gt;&lt;/a&gt;：可用于快速从 PostgreSQL 二进制文件中恢复数据&lt;/li&gt;&#xA;&lt;li&gt;减少 EL9 离线软件包的大小，移除非必须依赖项 &lt;code&gt;proj-data*&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;修复了 Patroni 3.1.1 的错误&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-6df1add0-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-6df1add0-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;efabe7632d8994f3fb58f9838b8f9d7d  pigsty-pkg-v2.5.0.el7.x86_64.tgz # 1.1G&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ea78957e8c8434b120d1c8c43d769b56  pigsty-pkg-v2.5.0.el8.x86_64.tgz # 1.4G&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4ef280a7d28872814e34521978b851bb  pigsty-pkg-v2.5.0.el9.x86_64.tgz # 1.3G&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.4.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.4/&#34;&gt;Pigsty v2.4 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v241&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.4.0...v2.4.1&#34;&gt;源码对比：&lt;code&gt;v2.4.0...v2.4.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.4.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.4.0/</link>
        <pubDate>Thu, 14 Sep 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.4.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-09-14&#34;&gt;2023-09-14&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;bash -c &amp;quot;$(curl -fsSL https://get.pigsty.cc/latest)&amp;quot;&lt;/code&gt; 快速上手。&lt;/p&gt;&#xA;&lt;h2 id=&#34;最新特性&#34;&gt;最新特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 16 正式发布，Pigsty 提供支持。&lt;/li&gt;&#xA;&lt;li&gt;可以监控云数据库，RDS for PostgreSQL，以及 PolarDB，提供全新的 PGRDS 监控面板&lt;/li&gt;&#xA;&lt;li&gt;正式提供商业支持与咨询服务。并发布首个 LTS 版本，为订阅客户提供最长5年的支持。&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：Apache AGE, openCypher graph query engine on PostgreSQL&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：zhparser, full text search for Chinese language&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：pg_roaringbitmap, roaring bitmap for PostgreSQL&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：pg_embedding, hnsw alternative to pgvector&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：pg_tle, admin / manage stored procedure extensions&lt;/li&gt;&#xA;&lt;li&gt;新扩展插件：pgsql-http, issue http request with SQL interface&lt;/li&gt;&#xA;&lt;li&gt;新增插件： pg_auth_mon pg_checksums pg_failover_slots pg_readonly postgresql-unit pg_store_plans pg_uuidv7 set_user&lt;/li&gt;&#xA;&lt;li&gt;Redis 改进：支持 Redis 哨兵监控，配置主从集群的自动高可用。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变化&#34;&gt;API 变化&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增参数，&lt;code&gt;REDIS&lt;/code&gt;.&lt;code&gt;redis_sentinel_monitor&lt;/code&gt;，用于指定 Sentinel 集群监控的主库列表&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复 Grafana 10.1 注册数据源时缺少 &lt;code&gt;uid&lt;/code&gt; 的问题&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-a2f3c707-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-a2f3c707-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 (pigsty-pkg-v2.4.0.el7.x86_64.tgz) = 257443e3c171439914cbfad8e9f72b17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 (pigsty-pkg-v2.4.0.el8.x86_64.tgz) = 41ad8007ffbfe7d5e8ba5c4b51ff2adc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 (pigsty-pkg-v2.4.0.el9.x86_64.tgz) = 9a950aed77a6df90b0265a6fa6029250&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.4.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.4/&#34;&gt;Pigsty v2.4 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v240&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.3.1...v2.4.0&#34;&gt;源码对比：&lt;code&gt;v2.3.1...v2.4.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.3.1</title>
        <link>https://pgsty.pro/zh/blog/release/2.3.1/</link>
        <pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.3.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.3.1&lt;/strong&gt; · &lt;time datetime=&#34;2023-09-01&#34;&gt;2023-09-01&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.3.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.3.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.3.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;bash -c &amp;quot;$(curl -fsSL https://get.pigsty.cc/latest)&amp;quot;&lt;/code&gt; 快速开始。&lt;/p&gt;&#xA;&lt;h2 id=&#34;最新特性&#34;&gt;最新特性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pgvector&lt;/code&gt; 更新至 0.5，添加 hnsw 算法支持。&lt;/li&gt;&#xA;&lt;li&gt;支持 PostgreSQL 16 RC1 (el8/el9)&lt;/li&gt;&#xA;&lt;li&gt;默认包中添加了 SealOS 用于快速部署 Kubernetes 集群。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复了 &lt;code&gt;infra&lt;/code&gt;.&lt;code&gt;repo&lt;/code&gt;.&lt;code&gt;repo_pkg&lt;/code&gt; 任务：当 &lt;code&gt;repo_packages&lt;/code&gt; 中包名包含 &lt;code&gt;*&lt;/code&gt; 时，下载可能会受到 &lt;code&gt;/www/pigsty&lt;/code&gt; 现有内容的影响。&lt;/li&gt;&#xA;&lt;li&gt;将 &lt;code&gt;vip_dns_suffix&lt;/code&gt; 的默认值由 &lt;code&gt;.vip&lt;/code&gt; 调整为空字符串，即集群本身的名称将默认作为节点集群的 L2 VIP&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;modprobe watchdog&lt;/code&gt; and &lt;code&gt;chown watchdog&lt;/code&gt; if &lt;code&gt;patroni_watchdog_mode&lt;/code&gt; is &lt;code&gt;required&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;当 &lt;code&gt;pg_dbsu_sudo&lt;/code&gt; = &lt;code&gt;limit&lt;/code&gt; and &lt;code&gt;patroni_watchdog_mode&lt;/code&gt; = &lt;code&gt;required&lt;/code&gt; 时，授予数据库 dbsu 以下命令的 sudo 执行权限&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;/usr/bin/sudo /sbin/modprobe softdog&lt;/code&gt;：在启动 Patroni 服务时确保 softdog 内核模块启用&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/usr/bin/sudo /bin/chown {{ pg_dbsu }} /dev/watchdog&lt;/code&gt;：在启动 Patroni 服务时，确保 watchdog 属主正确&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;文档更新&#34;&gt;文档更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;向英文文档中添加了更新内容。&lt;/li&gt;&#xA;&lt;li&gt;添加了简体中文版本的内置文档，修复了 pigsty.cc 文档站的中文文档。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件更新&#34;&gt;软件更新&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 16 RC1 for EL8/EL9&lt;/li&gt;&#xA;&lt;li&gt;PGVector 0.5.0，支持 hnsw 索引&lt;/li&gt;&#xA;&lt;li&gt;TimescaleDB 2.11.2&lt;/li&gt;&#xA;&lt;li&gt;grafana 10.1.0&lt;/li&gt;&#xA;&lt;li&gt;loki &amp;amp; promtail 2.8.4&lt;/li&gt;&#xA;&lt;li&gt;redis-stack 7.2 on el7/8&lt;/li&gt;&#xA;&lt;li&gt;mcli-20230829225506 / minio-20230829230735&lt;/li&gt;&#xA;&lt;li&gt;ferretdb 1.9&lt;/li&gt;&#xA;&lt;li&gt;sealos 4.3.3&lt;/li&gt;&#xA;&lt;li&gt;pgbadger 1.12.2&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-c9d50a36-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-c9d50a36-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ce69791eb622fa87c543096cdf11f970  pigsty-pkg-v2.3.1.el7.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;495aba9d6d18ce1ebed6271e6c96b63a  pigsty-pkg-v2.3.1.el8.x86_64.tgz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;38b45582cbc337ff363144980d0d7b64  pigsty-pkg-v2.3.1.el9.x86_64.tgz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.3.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.3/&#34;&gt;Pigsty v2.3 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v231&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.3.0...v2.3.1&#34;&gt;源码对比：&lt;code&gt;v2.3.0...v2.3.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.3.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.3.0/</link>
        <pubDate>Sun, 20 Aug 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.3.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-08-20&#34;&gt;2023-08-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.3.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.3.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.3.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;相关文章：《&lt;a href=&#34;https://mp.weixin.qq.com/s/p5sP42xsAxKPhWb_T7DqSA&#34;&gt;Pigsty v2.3 发布：应用生态丰富&lt;/a&gt;》&lt;/p&gt;&#xA;&lt;p&gt;发布注记：https://github.com/pgsty/pigsty/releases/tag/v2.3.0&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.2.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.2.0/</link>
        <pubDate>Fri, 04 Aug 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.2.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.2.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-08-04&#34;&gt;2023-08-04&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.2.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.2.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.2.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;相关文章：《&lt;a href=&#34;https://mp.weixin.qq.com/s/NfQEL6fM8FA-ErijucXJ4g&#34;&gt;Pigsty v2.2 发布 —— 监控系统大升级&lt;/a&gt;》&lt;/p&gt;&#xA;&lt;p&gt;发布注记：https://github.com/pgsty/pigsty/releases/tag/v2.2.0&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.1.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.1.0/</link>
        <pubDate>Sat, 10 Jun 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.1.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.1.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-06-10&#34;&gt;2023-06-10&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.1.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.1.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.1.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;相关文章：&lt;a href=&#34;https://mp.weixin.qq.com/s/Wu9kWEFSI3oGUr8t3hrz_w&#34;&gt;Pigsty v2.1 发布：向量扩展 / PG12-16 支持&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;发布注记：https://github.com/pgsty/pigsty/releases/tag/v2.1.0&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.0.2</title>
        <link>https://pgsty.pro/zh/blog/release/2.0.2/</link>
        <pubDate>Fri, 31 Mar 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.0.2/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.0.2&lt;/strong&gt; · &lt;time datetime=&#34;2023-03-31&#34;&gt;2023-03-31&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.2&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.2.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.2.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.2&#34;&gt;https://github.com/pgsty/pigsty/releases/tag/v2.0.2&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;亮点&#34;&gt;亮点&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;使用开箱即用的 &lt;a href=&#34;https://github.com/pgvector/pgvector&#34;&gt;&lt;code&gt;pgvector&lt;/code&gt;&lt;/a&gt; 存储 AI Embedding、索引、检索向量。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新扩展 &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/267&#34;&gt;&lt;code&gt;pgvector&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/issues/265&#34;&gt;MinIO CVE-2023-28432&lt;/a&gt; 问题修复&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;变更&#34;&gt;变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新扩展插件 &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/267&#34;&gt;&lt;code&gt;pgvector&lt;/code&gt;&lt;/a&gt; 用于存储 AI 嵌入，并执行向量相似度搜索。&lt;/li&gt;&#xA;&lt;li&gt;修复 &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/265&#34;&gt;MinIO CVE-2023-28432&lt;/a&gt;，使用 20230324 新提供的 policy API.&lt;/li&gt;&#xA;&lt;li&gt;为 DNSMASQ systemd 服务添加动态重载命令&lt;/li&gt;&#xA;&lt;li&gt;更新 PEV 版本至 v1.8&lt;/li&gt;&#xA;&lt;li&gt;更新 grafana 版本至 v9.4.7&lt;/li&gt;&#xA;&lt;li&gt;更新 MinIO 与 MCLI 版本至 20230324&lt;/li&gt;&#xA;&lt;li&gt;更新 bytebase 版本至 v1.15.0&lt;/li&gt;&#xA;&lt;li&gt;更新监控面板并修复死链接&lt;/li&gt;&#xA;&lt;li&gt;更新了阿里云 Terraform 模板，默认使用 RockyLinux 9&lt;/li&gt;&#xA;&lt;li&gt;使用 Grafana v9.4 的 Provisioning API&lt;/li&gt;&#xA;&lt;li&gt;为众多管理任务添加了 asciinema 视频&lt;/li&gt;&#xA;&lt;li&gt;修复了 EL8 PostgreSQL 的破损依赖：移除 anonymizer_15 faker_15 pgloader&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-cb60a226-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-cb60a226-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;pigsty-pkg-v2.0.2.el7.x86_64.tgz&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; d46440a115d741386d29d6de646acfe2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;pigsty-pkg-v2.0.2.el8.x86_64.tgz&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 5fa268b5545ac96b40c444210157e1e1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MD5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;pigsty-pkg-v2.0.2.el9.x86_64.tgz&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; c8b113d57c769ee86a22579fc98e8345&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.2&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v2.0/&#34;&gt;Pigsty v2.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v202&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v2.0.1...v2.0.2&#34;&gt;源码对比：&lt;code&gt;v2.0.1...v2.0.2&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.0.1</title>
        <link>https://pgsty.pro/zh/blog/release/2.0.1/</link>
        <pubDate>Tue, 21 Mar 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.0.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.0.1&lt;/strong&gt; · &lt;time datetime=&#34;2023-03-21&#34;&gt;2023-03-21&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.1&#34;&gt;https://github.com/pgsty/pigsty/releases/tag/v2.0.1&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;安全性改进，与对 &lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.0&#34;&gt;v2.0.0&lt;/a&gt; 的 BUG 修复。&lt;/p&gt;&#xA;&lt;h2 id=&#34;改进&#34;&gt;改进&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;更换猪头 logo 以符合 PostgreSQL 商标政策。&lt;/li&gt;&#xA;&lt;li&gt;将 grafana 版本升级至 v9.4，界面更佳且修复了 bug。&lt;/li&gt;&#xA;&lt;li&gt;将 patroni 版本升级至 v3.0.1，其中包含了一些 bug 修复。&lt;/li&gt;&#xA;&lt;li&gt;修改：将 grafana systemd 服务文件回滚到 rpm 默认的版本。&lt;/li&gt;&#xA;&lt;li&gt;使用缓慢的 &lt;code&gt;copy&lt;/code&gt; 代替 &lt;code&gt;rsync&lt;/code&gt; 来复制 grafana 仪表板，更加可靠。&lt;/li&gt;&#xA;&lt;li&gt;增强：bootstrap 执行后会添加回默认 repo 文件。&lt;/li&gt;&#xA;&lt;li&gt;添加 asciinema 视频，用于各种管理任务。&lt;/li&gt;&#xA;&lt;li&gt;安全增强模式：限制监控用户权限。&lt;/li&gt;&#xA;&lt;li&gt;新的配置模板：&lt;code&gt;dual.yml&lt;/code&gt;，用于双节点部署。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;crit.yml&lt;/code&gt; 模板中启用 &lt;code&gt;log_connections&lt;/code&gt; 和 &lt;code&gt;log_disconnections&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;crit.yml&lt;/code&gt; 模板中的 &lt;code&gt;pg_libs&lt;/code&gt; 中启用 &lt;code&gt;$lib/passwordcheck&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;明确授予 &lt;code&gt;pg_monitor&lt;/code&gt; 角色监视视图权限。&lt;/li&gt;&#xA;&lt;li&gt;从 &lt;code&gt;dbuser_monitor&lt;/code&gt; 中移除默认的 &lt;code&gt;dbrole_readonly&lt;/code&gt; 以限制监控用户的权限&lt;/li&gt;&#xA;&lt;li&gt;现在 patroni 监听在 &lt;code&gt;{{ inventory_hostname }}&lt;/code&gt; 而不是 &lt;code&gt;0.0.0.0&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;现在你可以使用 &lt;code&gt;pg_listen&lt;/code&gt; 控制 postgres/pgbouncer 监听的地址&lt;/li&gt;&#xA;&lt;li&gt;现在你可以在 &lt;code&gt;pg_listen&lt;/code&gt; 中使用 &lt;code&gt;${ip}&lt;/code&gt;, &lt;code&gt;${lo}&lt;/code&gt;, &lt;code&gt;${vip}&lt;/code&gt; 占位符&lt;/li&gt;&#xA;&lt;li&gt;将 Aliyun terraform 镜像从 centos 7.9 提升到 rocky Linux 9&lt;/li&gt;&#xA;&lt;li&gt;将 bytebase 版本升级到 v1.14.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-修复&#34;&gt;BUG 修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为 alertmanager 添加缺失的 advertise 地址。&lt;/li&gt;&#xA;&lt;li&gt;解决使用 &lt;code&gt;bin/pgsql-user&lt;/code&gt; 创建数据库用户时，&lt;code&gt;pg_mode&lt;/code&gt; 变量缺失问题。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;redis.yml&lt;/code&gt; 中为 Redis 集群加入任务添加 &lt;code&gt;-a password&lt;/code&gt; 选项。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;infra-rm.yml&lt;/code&gt;.&lt;code&gt;remove infra data&lt;/code&gt; 任务中补充缺失的默认值。&lt;/li&gt;&#xA;&lt;li&gt;修复 prometheus 监控对象定义文件的属主为 &lt;code&gt;prometheus&lt;/code&gt; 用户。&lt;/li&gt;&#xA;&lt;li&gt;使用 管理员用户 而不是 root 去删除 DCS 中的元数据。&lt;/li&gt;&#xA;&lt;li&gt;修复了由 grafana 9.4 bug 导致的问题：Meta 数据源缺失。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;注意事项&#34;&gt;注意事项&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;EL8 pgdg 上游官方源处于依赖破损状态，请小心使用。涉及到的软件包: &lt;code&gt;postgis33_15, pgloader, postgresql_anonymizer_15*, postgresql_faker_15&lt;/code&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v2.0.0</title>
        <link>https://pgsty.pro/zh/blog/release/2.0.0/</link>
        <pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/2.0.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v2.0.0&lt;/strong&gt; · &lt;time datetime=&#34;2023-02-28&#34;&gt;2023-02-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v2.0.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;相关文章：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/-E_-HZ7LvOze5lmzy3QbQA&#34;&gt;更好的开源RDS替代：Pigsty&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/WsR-c64OJfkMql7zX7XmDA&#34;&gt;炮打 RDS，Pigsty v2.0 发布&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/9lceZdyUZU9AzsqlAcpjTA&#34;&gt;Pigsty v2 正式发布：更好的RDS PG开源替代&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/g-ZPWqBwjzaxZKxyjVmFig&#34;&gt;Pigsty 2.0 展望&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pigsty &lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v2.0.0&#34;&gt;v2.0.0&lt;/a&gt; 正式发布！&lt;/p&gt;&#xA;&lt;p&gt;从 v2.0.0 开始，PIGSTY 现在是 &amp;ldquo;PostgreSQL In Great STYle&amp;quot;的首字母缩写，即&amp;quot;全盛状态的 PostgreSQL&amp;rdquo;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.5.1</title>
        <link>https://pgsty.pro/zh/blog/release/1.5.1/</link>
        <pubDate>Sat, 18 Jun 2022 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.5.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.5.1&lt;/strong&gt; · &lt;time datetime=&#34;2022-06-18&#34;&gt;2022-06-18&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.5.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.5.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.5.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点&#34;&gt;亮点&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;重要：修复了 PG14.0-14.3 中 &lt;code&gt;CREATE INDEX|REINDEX CONCURRENTLY&lt;/code&gt; 可能导致索引数据损坏的问题。&lt;/p&gt;&#xA;&lt;p&gt;Pigsty v1.5.1 升级默认 PostgreSQL 版本至 14.4 强烈建议尽快更新。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.5.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.5.0/</link>
        <pubDate>Sun, 22 May 2022 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.5.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2022-05-22&#34;&gt;2022-05-22&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.5.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.5.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.5.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;亮点概述&#34;&gt;亮点概述&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;完善的 Docker 支持：在管理节点上默认启用并提供诸多开箱即用的软件模板：bytebase, pgadmin, pgweb, postgrest, minio 等。&lt;/li&gt;&#xA;&lt;li&gt;基础设施自我监控：Nginx， ETCD， Consul， Prometheus， Grafana， Loki 自我监控&lt;/li&gt;&#xA;&lt;li&gt;CMDB 升级：兼容性改善，支持 Redis 集群/Greenplum 集群元数据，配置文件可视化。&lt;/li&gt;&#xA;&lt;li&gt;服务发现改进：可以使用 Consul 自动发现所有待监控对象，并纳入 Prometheus 中。&lt;/li&gt;&#xA;&lt;li&gt;更好的冷备份支持：默认定时备份任务，添加 &lt;code&gt;pg_probackup&lt;/code&gt; 备份工具，一键创建延时从库。&lt;/li&gt;&#xA;&lt;li&gt;ETCD 现在可以用作 PostgreSQL/Patroni 的 DCS 服务，作为 Consul 的备选项。&lt;/li&gt;&#xA;&lt;li&gt;Redis 剧本/角色改善：现在允许对单个 Redis 实例，而非整个 Redis 节点进行初始化与移除。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;详细变更列表&#34;&gt;详细变更列表&#xA;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;监控面板&#34;&gt;监控面板&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CMDB Overview：可视化 Pigsty CMDB Inventory。&lt;/li&gt;&#xA;&lt;li&gt;DCS Overview：查阅 Consul 与 ETCD 集群的监控指标。&lt;/li&gt;&#xA;&lt;li&gt;Nginx Overview：查阅 Pigsty Web 访问指标与访问日志。&lt;/li&gt;&#xA;&lt;li&gt;Grafana Overview：Grafana 自我监控&lt;/li&gt;&#xA;&lt;li&gt;Prometheus Overview：Prometheus 自我监控&lt;/li&gt;&#xA;&lt;li&gt;INFRA Dashboard 进行重制，反映基础设施整体状态&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;监控架构&#34;&gt;监控架构&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现在允许使用 Consul 进行服务发现（当所有服务注册至 Consul 时）&lt;/li&gt;&#xA;&lt;li&gt;现在所有的 Infra 组件会启用自我监控，并通过 &lt;code&gt;infra_register&lt;/code&gt; 角色注册至 Prometheus 与 Consul 中。&lt;/li&gt;&#xA;&lt;li&gt;指标收集器 pg_exporter 更新至 v0.5.0，添加新功能，&lt;code&gt;scale&lt;/code&gt; 与 &lt;code&gt;default&lt;/code&gt;，允许为指标指定一个倍乘因子，以及指定默认值。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_bgwriter&lt;/code&gt;, &lt;code&gt;pg_wal&lt;/code&gt;, &lt;code&gt;pg_query&lt;/code&gt;, &lt;code&gt;pg_db&lt;/code&gt;, &lt;code&gt;pgbouncer_stat&lt;/code&gt; 关于时间的指标，单位由默认的毫秒或微秒统一缩放至秒。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_table&lt;/code&gt; 中的相关计数器指标，现在配置有默认值 &lt;code&gt;0&lt;/code&gt;，替代原有的 &lt;code&gt;NaN&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_class&lt;/code&gt; 指标收集器默认移除，相关指标添加至 &lt;code&gt;pg_table&lt;/code&gt; 与 &lt;code&gt;pg_index&lt;/code&gt; 收集器中。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_table_size&lt;/code&gt; 指标收集器现在默认启用，默认设置有300秒的缓存时间。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;部署方案&#34;&gt;部署方案&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增可选软件包 &lt;code&gt;docker.tgz&lt;/code&gt;，带有常用应用镜像：Pgadmin, Pgweb, Postgrest, ByteBase, Kong, Minio 等。&lt;/li&gt;&#xA;&lt;li&gt;新增角色 ETCD，可以在 DCS Servers 指定的节点上自动部署 ETCD 服务，并自动纳入监控。&lt;/li&gt;&#xA;&lt;li&gt;允许通过 &lt;code&gt;pg_dcs_type&lt;/code&gt; 指定 PG 高可用使用的 DCS 服务，Consul（默认），ETCD（备选）&lt;/li&gt;&#xA;&lt;li&gt;允许通过 &lt;code&gt;node_crontab&lt;/code&gt; 参数，为节点配置定时任务，例如数据库备份、VACUUM，统计收集等。&lt;/li&gt;&#xA;&lt;li&gt;新增了 &lt;code&gt;pg_checksum&lt;/code&gt;  选项，启用时，数据库集群将启用数据校验和（此前只有 &lt;code&gt;crit&lt;/code&gt; 模板默认启用）&lt;/li&gt;&#xA;&lt;li&gt;新增了 &lt;code&gt;pg_delay&lt;/code&gt; 选项，当实例为 Standby Cluster Leader 时，此参数可以用于配置一个 &lt;strong&gt;延迟从库&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;新增了软件包 &lt;code&gt;pg_probackup&lt;/code&gt;，默认角色 &lt;code&gt;replicator&lt;/code&gt; 现在默认赋予了备份相关函数所需的权限。&lt;/li&gt;&#xA;&lt;li&gt;Redis 部署现在拆分为两个部分：Redis 节点与 Redis 实例，通过 &lt;code&gt;redis_port&lt;/code&gt; 参数可以精确控制一个具体实例。&lt;/li&gt;&#xA;&lt;li&gt;Loki 与 Promtail 现在使用 &lt;code&gt;frpm&lt;/code&gt; 制作的 RPM 软件包进行安装。&lt;/li&gt;&#xA;&lt;li&gt;DCS3 配置模板现在使用一个3节点的 &lt;code&gt;pg-meta&lt;/code&gt; 集群，与一个单节点的延迟从库。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;软件升级&#34;&gt;软件升级&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;升级 PostgreSQL 至 14.3&lt;/li&gt;&#xA;&lt;li&gt;升级 Redis 至 6.2.7&lt;/li&gt;&#xA;&lt;li&gt;升级 PG Exporter 至 0.5.0&lt;/li&gt;&#xA;&lt;li&gt;升级 Consul 至 1.12.0&lt;/li&gt;&#xA;&lt;li&gt;升级 vip-manager 至 v1.0.2&lt;/li&gt;&#xA;&lt;li&gt;升级 Grafana 至 v8.5.2&lt;/li&gt;&#xA;&lt;li&gt;升级 Loki &amp;amp; Promtail 至 v2.5.0，使用 frpm 打包。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;问题修复&#34;&gt;问题修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复了 Loki 与 Promtail 默认配置文件名的问题&lt;/li&gt;&#xA;&lt;li&gt;修复了 Loki 与 Promtail 环境变量无法正确展开的问题&lt;/li&gt;&#xA;&lt;li&gt;对英文文档进行了一次完整的翻译与修缮，文档依赖的 JS 资源现在直接从本地获取，无需互联网访问。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变化&#34;&gt;API 变化&#xA;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;新参数&#34;&gt;新参数&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;node_data_dir&lt;/code&gt;：主要的数据挂载路径，如果不存在会被创建。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;node_crontab_overwrite&lt;/code&gt;：覆盖 &lt;code&gt;/etc/crontab&lt;/code&gt; 而非追加内容。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;node_crontab&lt;/code&gt;：要被追加或覆盖的 node crontab 内容。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nameserver_enabled&lt;/code&gt;：在这个基础设施节节点上启用 nameserver 吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;prometheus_enabled&lt;/code&gt;：在这个基础设施节节点上启用 prometheus 吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;grafana_enabled&lt;/code&gt;：在这个基础设施节节点上启用 grafana 吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;loki_enabled&lt;/code&gt;：在这个基础设施节节点上启用 loki 吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;docker_enable&lt;/code&gt;：在这个基础设施节点上启用 docker 吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;consul_enable&lt;/code&gt;：启用 consul 服务器/代理吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;etcd_enable&lt;/code&gt;：启用 etcd 服务器/客户端吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_checksum&lt;/code&gt;：启用 pg 集群数据校验和吗？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pg_delay&lt;/code&gt;：备份集群主库复制重放时的应用延迟。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;参数重制&#34;&gt;参数重制&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;现在 &lt;code&gt;*_clean&lt;/code&gt; 是布尔类型的参数，用于在初始化期间清除现有实例。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.4.1</title>
        <link>https://pgsty.pro/zh/blog/release/1.4.1/</link>
        <pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.4.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.4.1&lt;/strong&gt; · &lt;time datetime=&#34;2022-04-20&#34;&gt;2022-04-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.4.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;日常错误修复 / Docker 支持 / 英文文档&lt;/p&gt;&#xA;&lt;p&gt;现在，默认在元节点上启用 docker。您可以使用它启动海量的各类软件&lt;/p&gt;&#xA;&lt;p&gt;现在提供英文文档。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/68f8c8da0576e043686137aca47bad01dd4e82c0&#34;&gt;将 docker 添加到默认包列表&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/765077744836d8600a8703dce8623182784d65a7&#34;&gt;将 docker-compose 添加到默认包列表&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/9b8b7c5209d09049716318b624001de3b567452a&#34;&gt;默认禁用 nameserver &amp;amp; 默认启用 docker 角色&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-修复&#34;&gt;Bug 修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/100f31842d473001f946200d9b8e2e3e89add35a&#34;&gt;修复 promtail &amp;amp; loki 配置变量问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;修复 grafana 旧版警报。&lt;/li&gt;&#xA;&lt;li&gt;默认禁用 nameserver&lt;/li&gt;&#xA;&lt;li&gt;为 patroni 快捷方式重命名 pg-alias.sh&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/62d74f15f8c164e5971d9d1d1215869359267b53&#34;&gt;为所有仪表板禁用 exemplars 查询&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/b277f488b7ed0fd0a7eeeb995e2efd75a048e0ef&#34;&gt;修复 loki 数据目录问题&lt;/a&gt; &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/100&#34;&gt;https://github.com/pgsty/pigsty/issues/100&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/commit/1690b490205af24d5f0394aba99007c0d9ebc49d&#34;&gt;将 autovacuum_freeze_max_age 从 100000000 更改为 1000000000&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.4.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.4/&#34;&gt;Pigsty v1.4 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v141&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v1.4.0...v1.4.1&#34;&gt;源码对比：&lt;code&gt;v1.4.0...v1.4.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.4.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.4.0/</link>
        <pubDate>Thu, 31 Mar 2022 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.4.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2022-03-31&#34;&gt;2022-03-31&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;架构&#34;&gt;架构&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将系统解耦为4大类别：&lt;code&gt;INFRA&lt;/code&gt;、&lt;code&gt;NODES&lt;/code&gt;、&lt;code&gt;PGSQL&lt;/code&gt;、&lt;code&gt;REDIS&lt;/code&gt;，这使得 pigsty 更加清晰、更易于扩展。&lt;/li&gt;&#xA;&lt;li&gt;单节点部署 = &lt;code&gt;INFRA&lt;/code&gt; + &lt;code&gt;NODES&lt;/code&gt; + &lt;code&gt;PGSQL&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;部署 pgsql 集群 = &lt;code&gt;NODES&lt;/code&gt; + &lt;code&gt;PGSQL&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;部署 redis 集群 = &lt;code&gt;NODES&lt;/code&gt; + &lt;code&gt;REDIS&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;部署其他数据库 = &lt;code&gt;NODES&lt;/code&gt; + xxx（例如 &lt;code&gt;MONGO&lt;/code&gt;、&lt;code&gt;KAFKA&lt;/code&gt;&amp;hellip;待定）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;可访问性&#34;&gt;可访问性&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为中国大陆提供 CDN。&lt;/li&gt;&#xA;&lt;li&gt;使用 &lt;code&gt;bash -c &amp;quot;$(curl -fsSL http://get.pigsty.cc/latest)&amp;quot;&lt;/code&gt; 获取最新源代码。&lt;/li&gt;&#xA;&lt;li&gt;使用新的 &lt;code&gt;download&lt;/code&gt; 脚本下载并提取包。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;监控增强&#34;&gt;监控增强&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将监控系统分为5大类别：&lt;code&gt;INFRA&lt;/code&gt;、&lt;code&gt;NODES&lt;/code&gt;、&lt;code&gt;REDIS&lt;/code&gt;、&lt;code&gt;PGSQL&lt;/code&gt;、&lt;code&gt;APP&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;默认启用日志记录&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现在默认启用 &lt;code&gt;loki&lt;/code&gt; 和 &lt;code&gt;promtail&lt;/code&gt;，带有预构建的 &lt;a href=&#34;https://github.com/Vonng/loki-rpm&#34;&gt;loki-rpm&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;模型和标签&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为所有仪表板添加了一个隐藏的 &lt;code&gt;ds&lt;/code&gt; prometheus 数据源变量，因此您只需选择一个新的数据源而不是修改 Grafana 数据源和仪表板。&lt;/li&gt;&#xA;&lt;li&gt;为所有指标添加了一个 &lt;code&gt;ip&lt;/code&gt; 标签，并将其用作数据库指标和节点指标之间的连接键。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;INFRA 监控&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Infra 主仪表板：INFRA 概览&lt;/li&gt;&#xA;&lt;li&gt;添加日志仪表板：日志实例&lt;/li&gt;&#xA;&lt;li&gt;PGLOG 分析和 PGLOG 会话现在被视为一个示例 Pigsty APP。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;NODES 监控应用&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如果您完全不关心数据库，现在可以单独使用 Pigsty 作为主机监控软件！&lt;/li&gt;&#xA;&lt;li&gt;包括4个核心仪表板：节点概览 &amp;amp; 节点集群 &amp;amp; 节点实例 &amp;amp; 节点警报&lt;/li&gt;&#xA;&lt;li&gt;为节点引入新的身份变量：&lt;code&gt;node_cluster&lt;/code&gt; 和 &lt;code&gt;nodename&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;pg_hostname&lt;/code&gt; 现在意味着将主机名设置为与 postgres 实例名相同，以保持向后兼容性&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;nodename_overwrite&lt;/code&gt; 控制是否用 nodename 覆盖节点的主机名&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;nodename_exchange&lt;/code&gt; 将 nodename 写入彼此的 &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;所有节点指标引用都经过修订，通过 &lt;code&gt;ip&lt;/code&gt; 连接&lt;/li&gt;&#xA;&lt;li&gt;节点监控目标在 &lt;code&gt;/etc/prometheus/targets/nodes&lt;/code&gt; 下单独管理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 监控增强&#xA;&lt;ul&gt;&#xA;&lt;li&gt;完全新的 PGSQL 集群，简化并专注于集群中的重要内容。&lt;/li&gt;&#xA;&lt;li&gt;新仪表板 PGSQL 数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 警报仪表板现在只关注 pgsql 警报。&lt;/li&gt;&#xA;&lt;li&gt;PGSQL Shard 已添加到 PGSQL 中。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Redis 监控增强&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为所有 redis 仪表板添加节点监控。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;matrixdb-支持&#34;&gt;MatrixDB 支持&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;通过 &lt;code&gt;pigsty-matrix.yml&lt;/code&gt; playbook 可以部署 MatrixDB（Greenplum 7）&lt;/li&gt;&#xA;&lt;li&gt;MatrixDB 监控仪表板：PGSQL MatrixDB&lt;/li&gt;&#xA;&lt;li&gt;添加示例配置：&lt;code&gt;pigsty-mxdb.yml&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;监控增强-1&#34;&gt;监控增强&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将监控系统分为5大类别：&lt;code&gt;INFRA&lt;/code&gt;、&lt;code&gt;NODES&lt;/code&gt;、&lt;code&gt;REDIS&lt;/code&gt;、&lt;code&gt;PGSQL&lt;/code&gt;、&lt;code&gt;APP&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;默认启用日志记录&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现在默认启用 &lt;code&gt;loki&lt;/code&gt; 和 &lt;code&gt;promtail&lt;/code&gt;，带有预构建的 &lt;a href=&#34;https://github.com/Vonng/loki-rpm&#34;&gt;loki-rpm&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;模型和标签&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为所有仪表板添加了一个隐藏的 &lt;code&gt;ds&lt;/code&gt; prometheus 数据源变量，因此您只需选择一个新的数据源而不是修改 Grafana 数据源和仪表板。&lt;/li&gt;&#xA;&lt;li&gt;为所有指标添加了一个 &lt;code&gt;ip&lt;/code&gt; 标签，并将其用作数据库指标和节点指标之间的连接键。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;INFRA 监控&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Infra 主仪表板：INFRA 概览&lt;/li&gt;&#xA;&lt;li&gt;添加日志仪表板：日志实例&lt;/li&gt;&#xA;&lt;li&gt;PGLOG 分析和 PGLOG 会话现在被视为一个示例 Pigsty APP。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;NODES 监控应用&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如果您完全不关心数据库，现在可以单独使用 Pigsty 作为主机监控软件！&lt;/li&gt;&#xA;&lt;li&gt;包括4个核心仪表板：节点概览 &amp;amp; 节点集群 &amp;amp; 节点实例 &amp;amp; 节点警报&lt;/li&gt;&#xA;&lt;li&gt;为节点引入新的身份变量：&lt;code&gt;node_cluster&lt;/code&gt; 和 &lt;code&gt;nodename&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;pg_hostname&lt;/code&gt; 现在意味着将主机名设置为与 postgres 实例名相同，以保持向后兼容性&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;nodename_overwrite&lt;/code&gt; 控制是否用 nodename 覆盖节点的主机名&lt;/li&gt;&#xA;&lt;li&gt;变量 &lt;code&gt;nodename_exchange&lt;/code&gt; 将 nodename 写入彼此的 &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;所有节点指标引用都经过修订，通过 &lt;code&gt;ip&lt;/code&gt; 连接&lt;/li&gt;&#xA;&lt;li&gt;节点监控目标在 &lt;code&gt;/etc/prometheus/targets/nodes&lt;/code&gt; 下单独管理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 监控增强&#xA;&lt;ul&gt;&#xA;&lt;li&gt;完全新的 PGSQL 集群，简化并专注于集群中的重要内容。&lt;/li&gt;&#xA;&lt;li&gt;新仪表板 PGSQL 数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。&lt;/li&gt;&#xA;&lt;li&gt;PGSQL 警报仪表板现在只关注 pgsql 警报。&lt;/li&gt;&#xA;&lt;li&gt;PGSQL Shard 已添加到 PGSQL 中。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Redis 监控增强&#xA;&lt;ul&gt;&#xA;&lt;li&gt;为所有 redis 仪表板添加节点监控。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;matrixdb-支持-1&#34;&gt;MatrixDB 支持&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;通过 &lt;code&gt;pigsty-matrix.yml&lt;/code&gt; playbook 可以部署 MatrixDB（Greenplum 7）&lt;/li&gt;&#xA;&lt;li&gt;MatrixDB 监控仪表板：PGSQL MatrixDB&lt;/li&gt;&#xA;&lt;li&gt;添加示例配置：&lt;code&gt;pigsty-mxdb.yml&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;置备改进&#34;&gt;置备改进&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;现在 pigsty 的工作流如下：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.3.1</title>
        <link>https://pgsty.pro/zh/blog/release/1.3.1/</link>
        <pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.3.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.3.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-12-10&#34;&gt;2021-12-10&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.3.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.3.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.3.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;监控&#34;&gt;监控&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PGSQL &amp;amp; PGCAT 仪表盘改进&lt;/li&gt;&#xA;&lt;li&gt;优化 pgcat 实例 &amp;amp; pgcat 数据库的布局&lt;/li&gt;&#xA;&lt;li&gt;在 pgsql 实例仪表盘中添加关键指标面板，与 pgsql 集群保持一致&lt;/li&gt;&#xA;&lt;li&gt;在 pgcat 数据库中添加表/索引膨胀面板，移除 pgcat 膨胀仪表盘&lt;/li&gt;&#xA;&lt;li&gt;在 pgcat 数据库仪表盘中添加索引信息&lt;/li&gt;&#xA;&lt;li&gt;修复在 grafana 8.3 中的损坏面板&lt;/li&gt;&#xA;&lt;li&gt;在 nginx 主页中添加 redis 索引&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;部署&#34;&gt;部署&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新的 &lt;code&gt;infra-demo.yml&lt;/code&gt; 剧本用于一次性引导&lt;/li&gt;&#xA;&lt;li&gt;使用 &lt;code&gt;infra-jupyter.yml&lt;/code&gt; 剧本部署可选的 jupyter lab 服务器&lt;/li&gt;&#xA;&lt;li&gt;使用 &lt;code&gt;infra-pgweb.yml&lt;/code&gt; 剧本部署可选的 pgweb 服务器&lt;/li&gt;&#xA;&lt;li&gt;在 meta 节点上新的 &lt;code&gt;pg&lt;/code&gt; 别名，可以从 admin 用户启动 postgres 集群（除了 postgres）&lt;/li&gt;&#xA;&lt;li&gt;根据 &lt;code&gt;timescaledb-tune&lt;/code&gt; 的建议调整所有 patroni 配置模板中的 &lt;code&gt;max_locks_per_transactions&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;在配置模板中添加 &lt;code&gt;citus.node_conninfo: &#39;sslmode=prefer&#39;&lt;/code&gt; 以便在没有 SSL 的情况下使用 citus&lt;/li&gt;&#xA;&lt;li&gt;在 pgdg14 包列表中添加所有扩展（除了 pgrouting）&lt;/li&gt;&#xA;&lt;li&gt;将 node_exporter 升级到 v1.3.1&lt;/li&gt;&#xA;&lt;li&gt;将 PostgREST v9.0.0 添加到包列表。从 postgres 模式生成 API。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;错误修复&#34;&gt;错误修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana 的安全漏洞（升级到 v8.3.1 &lt;a href=&#34;https://grafana.com/blog/2021/12/07/grafana-8.3.1-8.2.7-8.1.8-and-8.0.7-released-with-high-severity-security-fix/&#34;&gt;问题&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;修复 &lt;code&gt;pg_instance&lt;/code&gt; &amp;amp; &lt;code&gt;pg_service&lt;/code&gt; 在 &lt;code&gt;register&lt;/code&gt; 角色中从剧本的中间开始时的问题&lt;/li&gt;&#xA;&lt;li&gt;修复在没有 &lt;code&gt;pg_cluster&lt;/code&gt; 变量存在的主机上 nginx 主页渲染问题&lt;/li&gt;&#xA;&lt;li&gt;在升级到 grafana 8.3.1 时修复样式问题&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.3.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.3/&#34;&gt;Pigsty v1.3 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v131&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v1.3.0...v1.3.1&#34;&gt;源码对比：&lt;code&gt;v1.3.0...v1.3.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.3.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.3.0/</link>
        <pubDate>Tue, 30 Nov 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.3.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-11-30&#34;&gt;2021-11-30&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.3.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.3.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.3.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;【功能增强】Redis 部署（集群、哨兵、主从）&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】Redis 监控&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Redis 总览仪表盘&lt;/li&gt;&#xA;&lt;li&gt;Redis 集群仪表盘&lt;/li&gt;&#xA;&lt;li&gt;Redis 实例仪表盘&#xA;-【功能增强】 监控：PGCAT 大修&lt;/li&gt;&#xA;&lt;li&gt;新仪表盘：PGCAT 实例&lt;/li&gt;&#xA;&lt;li&gt;新仪表盘：PGCAT 数据库仪表盘&lt;/li&gt;&#xA;&lt;li&gt;重做仪表盘：PGCAT 表格&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】 监控：PGSQL 增强&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新面板：PGSQL 集群，添加 10 个关键指标面板（默认切换）&lt;/li&gt;&#xA;&lt;li&gt;新面板：PGSQL 实例，添加 10 个关键指标面板（默认切换）&lt;/li&gt;&#xA;&lt;li&gt;简化 &amp;amp; 重新设计：PGSQL 服务&lt;/li&gt;&#xA;&lt;li&gt;在 PGCAT &amp;amp; PGSL 仪表盘之间添加交叉引用&#xA;-【功能增强】 监控部署&lt;/li&gt;&#xA;&lt;li&gt;现在 grafana 数据源在仅监控部署期间自动注册&#xA;-【功能增强】 软件升级&lt;/li&gt;&#xA;&lt;li&gt;将 PostgreSQL 13 添加到默认包列表&lt;/li&gt;&#xA;&lt;li&gt;默认升级到 PostgreSQL 14.1&lt;/li&gt;&#xA;&lt;li&gt;添加 greenplum rpm 和依赖项&lt;/li&gt;&#xA;&lt;li&gt;添加 redis rpm &amp;amp; 源代码包&lt;/li&gt;&#xA;&lt;li&gt;将 perf 添加为默认包&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.3.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.3/&#34;&gt;Pigsty v1.3 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v130&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v1.2.0...v1.3.0&#34;&gt;源码对比：&lt;code&gt;v1.2.0...v1.3.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.2.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.2.0/</link>
        <pubDate>Wed, 03 Nov 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.2.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.2.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-11-03&#34;&gt;2021-11-03&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.2.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.2.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.2.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;【功能增强】默认使用 PostgreSQL 14 版本&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】默认使用 TimescaleDB 2.5 扩展&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现在 timescaledb 和 postgis 默认在 cmdb 中启用&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】 新增仅监控模式：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;仅通过可连接的 URL，您可以使用 pigsty 监控现有的 pg 实例&lt;/li&gt;&#xA;&lt;li&gt;pg_exporter 将在本地的 meta 节点上部署&lt;/li&gt;&#xA;&lt;li&gt;新仪表板 PGSQL Cluster Monly 用于远程集群&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】软件升级&#xA;&lt;ul&gt;&#xA;&lt;li&gt;grafana 升级到 8.2.2&lt;/li&gt;&#xA;&lt;li&gt;pev2 升级到 v0.11.9&lt;/li&gt;&#xA;&lt;li&gt;promscale 升级到 0.6.2&lt;/li&gt;&#xA;&lt;li&gt;pgweb 升级到 0.11.9&lt;/li&gt;&#xA;&lt;li&gt;新增扩展：pglogical、pg_stat_monitor、orafce&#xA;-【功能增强】自动检测机器规格并使用适当的 &lt;code&gt;node_tune&lt;/code&gt; 和 &lt;code&gt;pg_conf&lt;/code&gt; 模板&#xA;-【功能增强】重做与膨胀相关的视图，现在公开更多信息&#xA;-【功能增强】删除 timescale 和 citus 的内部监控&#xA;-【功能增强】新剧本 &lt;code&gt;pgsql-audit.yml&lt;/code&gt; 用于创建审计报告&#xA;-【BUG 修复】现在 pgbouncer_exporter 资源所有者是 {{ pg_dbsu }} 而不是 postgres&#xA;-【BUG 修复】 修复在执行 &lt;code&gt;REINDEX TABLE CONCURRENTLY&lt;/code&gt; 时 pg_exporter 在 pg_table pg_index 上的重复指标&#xA;-【功能增强】现在所有配置模板都减少到两个：auto 和 demo。(已删除：&lt;code&gt;pub4, pg14, demo4, tiny, oltp&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;如果 &lt;code&gt;vagrant&lt;/code&gt; 是默认用户，则配置 &lt;code&gt;pigsty-demo&lt;/code&gt;，否则使用 &lt;code&gt;pigsty-auto&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;如何从-v111-升级&#34;&gt;如何从 v1.1.1 升级&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;在 1.2.0 中没有 API 变更。您仍然可以使用旧的 &lt;code&gt;pigsty.yml&lt;/code&gt; 配置文件 (PG13)。&#xA;对于基础设施部分，重新执行 &lt;code&gt;repo&lt;/code&gt; 将完成大部分工作。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.1.1</title>
        <link>https://pgsty.pro/zh/blog/release/1.1.1/</link>
        <pubDate>Wed, 20 Oct 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.1.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.1.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-10-20&#34;&gt;2021-10-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.1.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.1.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.1.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;【功能增强】 用 &lt;code&gt;timescale&lt;/code&gt; 版本替换 timescaledb 的 &lt;code&gt;apache&lt;/code&gt; 版本&lt;/li&gt;&#xA;&lt;li&gt;【功能增强】 升级 prometheus 到 2.30&lt;/li&gt;&#xA;&lt;li&gt;【BUG 修复】 现在 pg_exporter 配置目录的属主是 &lt;code&gt;{{ pg_dbsu }}&lt;/code&gt;，而不再是 &lt;code&gt;prometheus&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;如何从-v110-升级&#34;&gt;如何从 v1.1.0 升级？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;这个版本的主要变动是 TimescaleDB，使用 TimescaleDB License （TSL）的官方版本替代了 PGDG 仓库中的 Apache License v2 的版本。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.1.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.1.0/</link>
        <pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.1.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-10-12&#34;&gt;2021-10-12&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;【增强功能】 增加 &lt;code&gt;pg_dummy_filesize&lt;/code&gt; 以创建文件系统空间占位符&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 主页大改版&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 增加 Jupyter Lab 整合&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 增加 pgweb 控制台整合&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 增加 pgbadger 支持&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 增加 pev2 支持，解释可视化工具&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 增加 pglog 工具&lt;/li&gt;&#xA;&lt;li&gt;【增强功能】 更新默认的 pkg.tgz 软件版本：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 升级至 v13.4（支持官方的 pg14）&lt;/li&gt;&#xA;&lt;li&gt;pgbouncer 升级至 v1.16（指标定义更新）&lt;/li&gt;&#xA;&lt;li&gt;Grafana 升级至 v8.1.4&lt;/li&gt;&#xA;&lt;li&gt;Prometheus 升级至 v2.2.29&lt;/li&gt;&#xA;&lt;li&gt;node_exporter 升级至 v1.2.2&lt;/li&gt;&#xA;&lt;li&gt;haproxy 升级至 v2.1.1&lt;/li&gt;&#xA;&lt;li&gt;consul 升级至 v1.10.2&lt;/li&gt;&#xA;&lt;li&gt;vip-manager 升级至 v1.0.1&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变更&#34;&gt;API 变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;nginx_upstream&lt;/code&gt; 现在持有不同的结构。（不兼容）&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;app_list&lt;/code&gt;，渲染至主页的导航条目&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;docs_enabled&lt;/code&gt;，在默认服务器上设置本地文档&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;pev2_enabled&lt;/code&gt;，设置本地的 pev2 工具&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;pgbadger_enabled&lt;/code&gt;，创建日志概要/报告目录&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;jupyter_enabled&lt;/code&gt;，在元节点上启用 Jupyter Lab 服务器&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;jupyter_username&lt;/code&gt;，指定运行 Jupyter Lab 的用户&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;jupyter_password&lt;/code&gt;，指定 Jupyter Lab 的默认密码&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;pgweb_enabled&lt;/code&gt;，在元节点上启用 pgweb 服务器&lt;/li&gt;&#xA;&lt;li&gt;新的配置条目：&lt;code&gt;pgweb_username&lt;/code&gt;，指定运行 pgweb 的用户&lt;/li&gt;&#xA;&lt;li&gt;将内部标记 &lt;code&gt;repo_exist&lt;/code&gt; 重命名为 &lt;code&gt;repo_exists&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;现在 &lt;code&gt;repo_address&lt;/code&gt; 的默认值为 &lt;code&gt;pigsty&lt;/code&gt; 而非 &lt;code&gt;yum.pigsty&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;现在 haproxy 的访问点为 &lt;code&gt;http://pigsty&lt;/code&gt; 而非 &lt;code&gt;http://h.pigsty&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.1/&#34;&gt;Pigsty v1.1 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v110&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v1.0.1...v1.1&#34;&gt;源码对比：&lt;code&gt;v1.0.1...v1.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.0.1</title>
        <link>https://pgsty.pro/zh/blog/release/1.0.1/</link>
        <pubDate>Tue, 14 Sep 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.0.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.0.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-09-14&#34;&gt;2021-09-14&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.0.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.0.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.0.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;2021-09-14&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;文档更新&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现已支持中文文档&lt;/li&gt;&#xA;&lt;li&gt;现已支持机器翻译的英文文档&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;错误修复：&lt;code&gt;pgsql-remove&lt;/code&gt; 不会移除主实例&lt;/li&gt;&#xA;&lt;li&gt;错误修复：用 pg_cluster + pg_seq 替换 pg_instance&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start-At-Task 可能因为 pg_instance 未定义而失败&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;错误修复：从默认共享预加载库中移除 citus&#xA;&lt;ul&gt;&#xA;&lt;li&gt;citus 会强制 max_prepared_transaction 的值为非零&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;错误修复：在 &lt;code&gt;configure&lt;/code&gt; 中进行 ssh sudo 检查：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;现在使用 &lt;code&gt;ssh -t sudo -n ls&lt;/code&gt; 进行权限检查&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;笔误修复：&lt;code&gt;pg-backup&lt;/code&gt; 脚本的笔误&lt;/li&gt;&#xA;&lt;li&gt;警报调整：移除 NTP 合理性检查警报（与 ClockSkew 重复）&lt;/li&gt;&#xA;&lt;li&gt;导出器调整：移除 collector.systemd 以减少开销&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.0.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.0/&#34;&gt;Pigsty v1.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v101&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v1.0.0...v1.0.1&#34;&gt;源码对比：&lt;code&gt;v1.0.0...v1.0.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v1.0.0</title>
        <link>https://pgsty.pro/zh/blog/release/1.0.0/</link>
        <pubDate>Mon, 26 Jul 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/1.0.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.0.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-07-26&#34;&gt;2021-07-26&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.0.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.0.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v1.0.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;v1 正式发布，监控系统全面改进&lt;/p&gt;&#xA;&lt;h2 id=&#34;亮点&#34;&gt;亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;监控系统全面改进&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在 Grafana 8.0 上新增仪表盘&lt;/li&gt;&#xA;&lt;li&gt;新的度量定义，增加 PG14 支持&lt;/li&gt;&#xA;&lt;li&gt;简化的标签系统：静态标签集：(job, cls, ins)&lt;/li&gt;&#xA;&lt;li&gt;新的警报规则与衍生度量&lt;/li&gt;&#xA;&lt;li&gt;同时监控多个数据库&lt;/li&gt;&#xA;&lt;li&gt;实时日志搜索 &amp;amp; csvlog 分析&lt;/li&gt;&#xA;&lt;li&gt;链接丰富的仪表盘，点击图形元素进行深入|汇总&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;架构变更&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将 citus 和 timescaledb 加入默认安装部分&lt;/li&gt;&#xA;&lt;li&gt;增加对 PostgreSQL 14beta2 的支持&lt;/li&gt;&#xA;&lt;li&gt;简化 haproxy 管理页面索引&lt;/li&gt;&#xA;&lt;li&gt;通过添加新的角色 &lt;code&gt;register&lt;/code&gt; 来解耦基础设施和 pgsql&lt;/li&gt;&#xA;&lt;li&gt;添加新角色 &lt;code&gt;loki&lt;/code&gt; 和 &lt;code&gt;promtail&lt;/code&gt; 用于日志记录&lt;/li&gt;&#xA;&lt;li&gt;为管理员节点上的管理员用户添加新角色 &lt;code&gt;environ&lt;/code&gt; 以设置环境&lt;/li&gt;&#xA;&lt;li&gt;默认使用 &lt;code&gt;static&lt;/code&gt; 服务发现用于 prometheus（而不是 &lt;code&gt;consul&lt;/code&gt;）&lt;/li&gt;&#xA;&lt;li&gt;添加新角色 &lt;code&gt;remove&lt;/code&gt; 以优雅地移除集群和实例&lt;/li&gt;&#xA;&lt;li&gt;升级 prometheus 和 grafana 的配置逻辑&lt;/li&gt;&#xA;&lt;li&gt;升级到 vip-manager 1.0，node_exporter 1.2，pg_exporter 0.4，grafana 8.0&lt;/li&gt;&#xA;&lt;li&gt;现在，每个实例上的每个数据库都可以自动注册为 grafana 数据源&lt;/li&gt;&#xA;&lt;li&gt;将 consul 注册任务移到 &lt;code&gt;register&lt;/code&gt; 角色，更改 consul 服务标签&lt;/li&gt;&#xA;&lt;li&gt;添加 cmdb.sql 作为 pg-meta 基线定义（CMDB &amp;amp; PGLOG）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;应用框架&#xA;&lt;ul&gt;&#xA;&lt;li&gt;可扩展框架用于新功能&lt;/li&gt;&#xA;&lt;li&gt;核心应用：PostgreSQL 监控系统：&lt;code&gt;pgsql&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;核心应用：PostgreSQL 目录浏览器：&lt;code&gt;pgcat&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;核心应用：PostgreSQL Csvlog 分析器：&lt;code&gt;pglog&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;添加示例应用 &lt;code&gt;covid&lt;/code&gt; 用于可视化 covid-19 数据&lt;/li&gt;&#xA;&lt;li&gt;添加示例应用 &lt;code&gt;isd&lt;/code&gt; 用于可视化 isd 数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;其他&#xA;&lt;ul&gt;&#xA;&lt;li&gt;添加 jupyterlab，为数据科学提供完整的 python 环境&lt;/li&gt;&#xA;&lt;li&gt;添加 &lt;code&gt;vonng-echarts-panel&lt;/code&gt; 以恢复对 Echarts 的支持&lt;/li&gt;&#xA;&lt;li&gt;添加 wrap 脚本 &lt;code&gt;createpg&lt;/code&gt;，&lt;code&gt;createdb&lt;/code&gt;，&lt;code&gt;createuser&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;添加 cmdb 动态库存脚本：&lt;code&gt;load_conf.py&lt;/code&gt;，&lt;code&gt;inventory_cmdb&lt;/code&gt;，&lt;code&gt;inventory_conf&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;移除过时的剧本：&lt;code&gt;pgsql-monitor&lt;/code&gt;，&lt;code&gt;pgsql-service&lt;/code&gt;，&lt;code&gt;node-remove&lt;/code&gt; 等&amp;hellip;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;api-变更&#34;&gt;API 变更&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;node_meta_pip_install&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;grafana_admin_username&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;grafana_database&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;grafana_pgurl&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;pg_shared_libraries&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;pg_exporter_auto_discovery&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;pg_exporter_exclude_database&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;新变量: &lt;code&gt;pg_exporter_include_database&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;变量重命名: &lt;code&gt;grafana_url&lt;/code&gt; 为 &lt;a href=&#34;https://doc.pigsty.cc/#/zh-cn/v-meta?id=grafana_endpoint&#34;&gt;&lt;code&gt;grafana_endpoint&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-修复&#34;&gt;Bug 修复&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复默认时区 Asia/Shanghai (CST) 问题&lt;/li&gt;&#xA;&lt;li&gt;修复 pgbouncer &amp;amp; patroni 的 nofile 限制&lt;/li&gt;&#xA;&lt;li&gt;当执行标签 &lt;code&gt;pgbouncer&lt;/code&gt; 时，pgbouncer 的用户列表和数据库列表将会被生成&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v1.0.0&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v1.0/&#34;&gt;Pigsty v1.0 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/docs/about/release/#v100&#34;&gt;历史 About / 发布注记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v0.9.1...v1.0.0&#34;&gt;源码对比：&lt;code&gt;v0.9.1...v1.0.0&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.9.1</title>
        <link>https://pgsty.pro/zh/blog/release/0.9.1/</link>
        <pubDate>Thu, 20 May 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.9.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.9.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-05-20&#34;&gt;2021-05-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.9.1&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PostgreSQL 更新至 13.3，Grafana 更新至 7.5.6。&lt;/li&gt;&#xA;&lt;li&gt;新增 &lt;code&gt;configure&lt;/code&gt; 配置向导。&lt;/li&gt;&#xA;&lt;li&gt;安装流程收敛为下载、配置、安装三步：&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e0cb6c6b-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e0cb6c6b-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://github.com/pgsty/pigsty/releases/download/v0.9.1/pigsty.tgz &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; gzip -d &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tar -xC ~&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/pigsty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;信息来源&#34;&gt;信息来源&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.9.1&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pigsty.cc/blog/pigsty/v0.9/&#34;&gt;Pigsty v0.9 发布文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/compare/v0.9.0...v0.9.1&#34;&gt;源码对比：&lt;code&gt;v0.9.0...v0.9.1&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.9.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.9.0/</link>
        <pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.9.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.9.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-05-01&#34;&gt;2021-05-01&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.9.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.9.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;v0.9 极大简化了安装流程，进行了大量日志相关改进，开发了命令行工具（Beta），并修复了一系列问题。&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--details td-callout--collapsible&#34; role=&#34;note&#34; data-td-callout-collapsible&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;span class=&#34;td-callout__label&#34;&gt;详情&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;新功能&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;一键安装模式：&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-766971be-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-766971be-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/bin/bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;curl -fsSL https://pigsty.cc/install&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;开发命令行工具 &lt;code&gt;pigsty-cli&lt;/code&gt; 封装常用 Ansible 命令，目前 pigsty-cli 处于 Beta 状态&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.8.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.8.0/</link>
        <pubDate>Sun, 28 Mar 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.8.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.8.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-03-28&#34;&gt;2021-03-28&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.8.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.8.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.8.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;v0.8 针对 &lt;strong&gt;服务（Service）&lt;/strong&gt; 接入部分进行了彻底的重做。现在除了默认的 &lt;code&gt;primary&lt;/code&gt;, &lt;code&gt;replica&lt;/code&gt; 服务外，用户可以自行定义新的服务。服务的接口可以支持多种不同的实现，例如 L4 DPKG VIP 可作为 Haproxy 的替代品与 Pigsty 集成。同时，针对用户反馈的一些问题进行了集中处理与改进。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.7.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.7.0/</link>
        <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.7.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.7.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-03-01&#34;&gt;2021-03-01&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.7.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.7.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.7.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;v0.7 针对 &lt;strong&gt;接入已有数据库实例&lt;/strong&gt; 进行了改进，现在用户可以采用 &lt;strong&gt;仅监控部署（Monly Deployment）&lt;/strong&gt; 模式使用 Pigsty。同时新增了专用于管理数据库与用户、以及单独部署监控的剧本，并对数据库与用户的定义进行改进。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.6.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.6.0/</link>
        <pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.6.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.6.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-02-19&#34;&gt;2021-02-19&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.6.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.6.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.6.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;v0.6 对数据库供给方案进行了修改与调整，根据用户的反馈添加了一系列实用功能与修正。针对监控系统的移植性进行优化，便于与其他外部数据库供给方案对接。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.5.2</title>
        <link>https://pgsty.pro/zh/blog/release/0.5.2/</link>
        <pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.5.2/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.5.2&lt;/strong&gt; · &lt;time datetime=&#34;2021-01-20&#34;&gt;2021-01-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.5.2&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.2.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.2.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将 &lt;code&gt;pigsty.yml&lt;/code&gt; 设为默认配置，并重组标准的 &lt;code&gt;sandbox.yml&lt;/code&gt;、&lt;code&gt;infra.yml&lt;/code&gt; 与 &lt;code&gt;pgsql.yml&lt;/code&gt; 工作流。&lt;/li&gt;&#xA;&lt;li&gt;将 VIP 管理从 HAProxy 中拆分，新增管理员认证、流量权重与主库兜底控制。&lt;/li&gt;&#xA;&lt;li&gt;在主剧本中加入域名服务器步骤，并同步更新相关文档。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;v0.5.2&lt;/code&gt; 是没有独立 GitHub Release 正文的维护标签，本说明依据标签提交整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.5.1</title>
        <link>https://pgsty.pro/zh/blog/release/0.5.1/</link>
        <pubDate>Wed, 13 Jan 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.5.1/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.5.1&lt;/strong&gt; · &lt;time datetime=&#34;2021-01-13&#34;&gt;2021-01-13&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.5.1&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.1.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.1.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;修复 &lt;code&gt;v0.5.0&lt;/code&gt; 之后发现的 PostgreSQL 集群与实例仪表盘问题。&lt;/li&gt;&#xA;&lt;li&gt;默认 PostgreSQL 镜像切换至浙江大学镜像，改善区域内安装速度。&lt;/li&gt;&#xA;&lt;li&gt;更新 README，并整理 &lt;code&gt;v0.5&lt;/code&gt; 系列文档快照。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;v0.5.1&lt;/code&gt; 是没有独立 GitHub Release 正文的维护标签，本说明依据标签提交整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.5.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.5.0/</link>
        <pubDate>Thu, 07 Jan 2021 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.5.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2021-01-07&#34;&gt;2021-01-07&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.5.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.5.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Pigsty 现在有了官方网站啦：&lt;a href=&#34;https://pigsty.cc/&#34;&gt;pigsty.cc&lt;/a&gt; 🎉 !&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--details td-callout--collapsible&#34; role=&#34;note&#34; data-td-callout-collapsible&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;span class=&#34;td-callout__label&#34;&gt;详情&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;亮点特性&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pigsty 官方 &lt;a href=&#34;http://pigsty.cc/&#34;&gt;文档站&lt;/a&gt; 正式上线！&lt;/li&gt;&#xA;&lt;li&gt;添加了数据库模板的定制支持，用户可以通过配置文件定制所需的数据库内部对象。&lt;/li&gt;&#xA;&lt;li&gt;对默认 &lt;a href=&#34;https://pgsty.pro/zh/docs/concept/sec/ac/&#34;&gt;访问控制&lt;/a&gt; 模型进行了改进&lt;/li&gt;&#xA;&lt;li&gt;重构了 HBA 管理的逻辑，现在将由 Pigsty 替代 Patroni 直接负责生成 HBA&lt;/li&gt;&#xA;&lt;li&gt;将 Grafana 监控系统的供给方案从 sqlite 改为 JSON 文件静态 Provision&lt;/li&gt;&#xA;&lt;li&gt;将 &lt;code&gt;pg-cluster-replication&lt;/code&gt; 面板加入 Pigsty 开源免费套餐。&lt;/li&gt;&#xA;&lt;li&gt;最新的经过测试的离线安装包：&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/download/v0.5.0/pkg.tgz&#34;&gt;pkg.tgz&lt;/a&gt; (v0.5)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;定制数据库&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.4.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.4.0/</link>
        <pubDate>Mon, 14 Dec 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.4.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2020-12-14&#34;&gt;2020-12-14&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.4.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.4.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.4.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;第二个公开测试版 v0.4 现已正式发行！&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--details td-callout--collapsible&#34; role=&#34;note&#34; data-td-callout-collapsible&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;span class=&#34;td-callout__label&#34;&gt;详情&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;监控系统&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pigsty v0.4 对监控系统进行了整体升级改造，精心挑选了10个面板作为标准的 Pigsty 开源内容。同时，针对 Grafana 7.3的不兼容升级进行了大量适配改造工作。使用升级的 &lt;code&gt;pg_exporter v0.3.1&lt;/code&gt; 作为默认指标导出器，调整了监控报警规则的监控面板连接。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.3.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.3.0/</link>
        <pubDate>Thu, 22 Oct 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.3.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2020-10-22&#34;&gt;2020-10-22&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/releases/tag/v0.3.0&#34;&gt;查看发布&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.3.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.3.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;首个 Pigsty 公开测试版本现在已经释出！&lt;/p&gt;&#xA;&lt;div class=&#34;td-callout td-callout--details td-callout--collapsible&#34; role=&#34;note&#34; data-td-callout-collapsible&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;span class=&#34;td-callout__label&#34;&gt;详情&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;监控系统&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pigsty v0.3 包含以下8个监控面板作为开源内容：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PG Overview&lt;/li&gt;&#xA;&lt;li&gt;PG Cluster&lt;/li&gt;&#xA;&lt;li&gt;PG Service&lt;/li&gt;&#xA;&lt;li&gt;PG Instance&lt;/li&gt;&#xA;&lt;li&gt;PG Database&lt;/li&gt;&#xA;&lt;li&gt;PG Table Overview&lt;/li&gt;&#xA;&lt;li&gt;PG Table Catalog&lt;/li&gt;&#xA;&lt;li&gt;Node&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;离线安装包&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.0.5</title>
        <link>https://pgsty.pro/zh/blog/release/0.0.5/</link>
        <pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.0.5/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.0.5&lt;/strong&gt; · &lt;time datetime=&#34;2020-08-19&#34;&gt;2020-08-19&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.0.5&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.5.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.5.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新增离线安装模式，支持在无法访问互联网的环境中完成交付。&lt;/li&gt;&#xA;&lt;li&gt;引入独立 Consul 角色，并更新软件仓库引导逻辑。&lt;/li&gt;&#xA;&lt;li&gt;加入 psql 启动辅助脚本，拆分 PostgreSQL 脚本任务，并修复 HAProxy 连接重置噪声。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;本历史记录依据 &lt;code&gt;v0.0.5&lt;/code&gt; 标签及其与 &lt;code&gt;v0.0.4&lt;/code&gt; 的源码差异整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.0.4</title>
        <link>https://pgsty.pro/zh/blog/release/0.0.4/</link>
        <pubDate>Mon, 27 Jul 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.0.4/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.0.4&lt;/strong&gt; · &lt;time datetime=&#34;2020-07-27&#34;&gt;2020-07-27&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.0.4&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.4.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.4.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将原有单体自动化拆分为 Meta、Grafana、DNS、Nginx 与 Prometheus 等独立角色。&lt;/li&gt;&#xA;&lt;li&gt;新增静态网络处理，并调整本地软件仓库的上游策略。&lt;/li&gt;&#xA;&lt;li&gt;补充角色文档，使服务注册模板与新的目录布局保持一致。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;本历史记录依据 &lt;code&gt;v0.0.4&lt;/code&gt; 标签及其与 &lt;code&gt;v0.0.3&lt;/code&gt; 的源码差异整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.0.3</title>
        <link>https://pgsty.pro/zh/blog/release/0.0.3/</link>
        <pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.0.3/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.0.3&lt;/strong&gt; · &lt;time datetime=&#34;2020-07-22&#34;&gt;2020-07-22&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.0.3&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.3.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.0.3.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;改进早期 Pigsty 配置接口，并加入监控模式。&lt;/li&gt;&#xA;&lt;li&gt;新增 Kubernetes 剧本，调整 PostgreSQL 初始化默认值。&lt;/li&gt;&#xA;&lt;li&gt;简化 Vagrant 引导流程，修复 HAProxy、Patroni 与监控注册中的若干问题。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这是公开发布系列之前的历史标签；本记录依据 &lt;code&gt;v0.0.3&lt;/code&gt; 标签源码与对应提交历史整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.2.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.2.0/</link>
        <pubDate>Fri, 10 Jul 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.2.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.2.0&lt;/strong&gt; · &lt;time datetime=&#34;2020-07-10&#34;&gt;2020-07-10&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.2.0&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.2.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.2.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;重构基础设施、节点、仓库、Patroni、PgBouncer、监控与 PostgreSQL 初始化角色。&lt;/li&gt;&#xA;&lt;li&gt;新增 etcd DCS、生产/测试清单布局与可配置数据库超级用户支持。&lt;/li&gt;&#xA;&lt;li&gt;增加 Patroni 暂停处理、HAProxy 2.2 适配及旧版 CentOS 7 修复。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;v0.2.0&lt;/code&gt; 早于带有完整正文的 GitHub Release；本记录依据标签源码及其与 &lt;code&gt;v0.1.0&lt;/code&gt; 的差异整理。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty v0.1.0</title>
        <link>https://pgsty.pro/zh/blog/release/0.1.0/</link>
        <pubDate>Sat, 20 Jun 2020 00:00:00 +0000</pubDate>
        
        <guid>https://pgsty.pro/zh/blog/release/0.1.0/</guid>
        <description>&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.1.0&lt;/strong&gt; · &lt;time datetime=&#34;2020-06-20&#34;&gt;2020-06-20&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v0.1.0&#34;&gt;查看标签&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.1.0.tar.gz&#34;&gt;源码 · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/archive/refs/tags/v0.1.0.zip&#34;&gt;源码 · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty&#34;&gt;pgsty/pigsty&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;发布亮点&#34;&gt;发布亮点&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;完成首轮从剧本到可复用 Ansible 角色的大规模重构。&lt;/li&gt;&#xA;&lt;li&gt;建立 PostgreSQL 主从、PgBouncer、监控、HAProxy、Keepalived 与软件仓库的早期工作流。&lt;/li&gt;&#xA;&lt;li&gt;在生产仿真测试环境中验证重组后的项目结构。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;v0.1.0&lt;/code&gt; 是早期工程里程碑，并非带有独立正文的 GitHub Release；本说明依据标签与提交历史整理。&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
