<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pigsty v1.5.1 Documentation on PIGSTY</title>
    <link>https://v15.pgsty.pro/docs/</link>
    <description>Recent content in Pigsty v1.5.1 Documentation on PIGSTY</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate>
    
    
      <atom:link href="https://v15.pgsty.pro/docs/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Introduction</title>
        <link>https://v15.pgsty.pro/docs/s-intro/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-intro/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Different users have different concerns. If you encounter problems, you are welcome to check the &lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/&#34;&gt;FAQ&lt;/a&gt;, submit an &lt;a href=&#34;https://github.com/Vonng/pigsty/issues/new&#34;&gt;Issue&lt;/a&gt;, or ask the &lt;a href=&#34;https://v15.pgsty.pro/docs/community/&#34;&gt;Community&lt;/a&gt; for help.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;beginners&#34;&gt;Beginners&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Beginners can visit the Pigsty demo site: &lt;a href=&#34;http://demo.pigsty.cc&#34;&gt;http://demo.pigsty.cc&lt;/a&gt; for a quick glance.&lt;/p&gt;&#xA;&lt;p&gt;There are several &lt;a href=&#34;https://v15.pgsty.pro/docs/t-application/&#34;&gt;data applications&lt;/a&gt; that are built upon Pigsty to illustrate this distribution: &lt;a href=&#34;http://demo.pigsty.cc/d/pglog-overview&#34;&gt;&lt;code&gt;pglog&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://demo.pigsty.cc/d/covid-overview&#34;&gt;&lt;code&gt;covid&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://demo.pigsty.cc/d/isd-overview&#34;&gt;&lt;code&gt;isd&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://demo.pigsty.cc/d/dbeng-overview&#34;&gt;&lt;code&gt;dbeng&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://demo.pigsty.cc/d/worktime-query&#34;&gt;&lt;code&gt;worktime&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can also deploy SaaS software with &lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/&#34;&gt;docker&lt;/a&gt; and get production-grade durability with an external pigsty database.&lt;/p&gt;&#xA;&lt;h2 id=&#34;developer&#34;&gt;Developer&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Developers are more concerned about the fastest way to &lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;download&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/s-install/&#34;&gt;install&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#access&#34;&gt;access&lt;/a&gt; the database, please refer to &lt;a href=&#34;https://v15.pgsty.pro/docs/s-install/&#34;&gt;Installation&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Installation</title>
        <link>https://v15.pgsty.pro/docs/s-install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-install/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;It takes 3 steps to install Pigsty: &lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Prepare&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#configure&#34;&gt;Configure&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Execute Playbook&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://v15.pgsty.pro/img/history/v1.5/HOW_EN.svg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;There are two typical modes: Singleton &amp;amp; Cluster Management&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-install/#singleton-meta&#34;&gt;Singleton Meta&lt;/a&gt;: Install pigsty on one single meta node. (for PostgreSQL dev/test, RDS monitoring, etc&amp;hellip;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-install/#cluster-manage&#34;&gt;Cluster Manage&lt;/a&gt;:  Initiate control from meta node, and manage &amp;amp; monitoring more nodes &amp;amp; databases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;singleton-meta&#34;&gt;Singleton Meta&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When Pigsty is installed on one single node. It will init pigsty infra with a battery including Postgres as CMDB. You may use that database directly.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Features</title>
        <link>https://v15.pgsty.pro/docs/s-feature/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-feature/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;The battery-include, auto-piloting, handy &amp;amp; thrifty distribution for open-source databases.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://v15.pgsty.pro/img/history/v1.5/WHAT_EN.svg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;ul&gt;&#xA;&lt;li&gt;Battery-Include Open-Source Postgres &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#postgresql-distribution&#34;&gt;Distribution&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Auto-Piloting monitoring and management &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#sre-solution&#34;&gt;SRE Solution&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Easy-to-use Database-as-Code &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#developer-toolbox&#34;&gt;Developer Toolbox&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Safe &amp;amp; Thrifty open-source alternative to Cloud &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#open-source-rds&#34;&gt;RDS&lt;/a&gt;/PaaS&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#high-availability&#34;&gt;High Availability&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#ultimate-observability&#34;&gt;Ultimate Observability&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#handy-toolbox&#34;&gt;Handy Toolbox&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#database-as-code&#34;&gt;Database as Code&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#versatile-scenario&#34;&gt;Versatile Scenario&lt;/a&gt; /  &lt;a href=&#34;https://v15.pgsty.pro/docs/s-feature/#safety-and-thrifty&#34;&gt;Safety &amp;amp; Thrifty&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;postgresql-distribution&#34;&gt;PostgreSQL Distribution&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;RedHat for Linux!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Pigsty deeply integrates the &lt;a href=&#34;https://www.postgresql.org/&#34;&gt;PostgreSQL&lt;/a&gt; 14.4 with powerful extensions: &lt;a href=&#34;https://www.timescale.com/&#34;&gt;TimescaleDB&lt;/a&gt; 2.7, &lt;a href=&#34;https://postgis.net/&#34;&gt;PostGIS&lt;/a&gt; 3.2, and &lt;a href=&#34;https://www.citusdata.com/&#34;&gt;Citus&lt;/a&gt; 11.0, and hundreds+ of extensions, all Battery-include.&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ: Frequently Asked Questions</title>
        <link>https://v15.pgsty.pro/docs/s-faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-faq/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Here are some frequently asked questions. If you have some unlisted questions,  &lt;a href=&#34;https://v15.pgsty.pro/docs/community/&#34;&gt;Contact Us&lt;/a&gt;, or submit an &lt;a href=&#34;https://github.com/Vonng/pigsty/issues/new&#34;&gt;Issue&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#preparation&#34;&gt;Preparation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#download&#34;&gt;Download&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#configuration&#34;&gt;Configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#installation&#34;&gt;Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#sandbox&#34;&gt;Sandbox&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#monitoring&#34;&gt;Monitoring&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#infra&#34;&gt;INFRA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#nodes&#34;&gt;NODES&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/#pgsql&#34;&gt;PGSQL&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;preparation&#34;&gt;Preparation&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;It would help if you ensured that the machine node hardware specifications and OS meet the installation requirements, see: &lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;preparation&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;node-requirement&#34;&gt;Node Requirement&#xA;&lt;/h3&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;Warning&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;At least &lt;strong&gt;1Core/2GB&lt;/strong&gt; is required from &lt;a href=&#34;https://v15.pgsty.pro/docs/c-arch/#singleton-deploy&#34;&gt;singleton meta&lt;/a&gt; installation. An &lt;strong&gt;x86_64&lt;/strong&gt; Processor is needed. ARM is not supported yet.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Concepts</title>
        <link>https://v15.pgsty.pro/docs/c-concept/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-concept/</guid>
        <description>&lt;h2 id=&#34;index&#34;&gt;Index&#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: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-arch/#module&#34;&gt;Module&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://v15.pgsty.pro/docs/c-concept/&#34;&gt;Concept&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://v15.pgsty.pro/docs/d-deploy/&#34;&gt;Deploy&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://v15.pgsty.pro/docs/v-config/&#34;&gt;Config&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://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook&lt;/a&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;code&gt;INFRA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-infra/&#34;&gt;Concept: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-deploy/&#34;&gt;Deploy: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/&#34;&gt;Config: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;Playbook: INFRA&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;code&gt;NODES&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/&#34;&gt;Concept: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Deploy: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/&#34;&gt;Config: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/&#34;&gt;Playbook: NODES&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;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/&#34;&gt;Concept: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;Deploy: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;Config: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;Playbook: PGSQL&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;code&gt;REDIS&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-redis/&#34;&gt;Concept: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-redis/&#34;&gt;Deploy: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Config: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/&#34;&gt;Playbook: REDIS&lt;/a&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;glossary&#34;&gt;Glossary&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Node&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Meta&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Source Package&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Offline Software Package&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Sandbox&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Production Environment/Prod Env&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Singleton Meta&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Cluster Manage&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Database Cluster&lt;/p&gt;</description>
      </item>
    <item>
        <title>Architecture</title>
        <link>https://v15.pgsty.pro/docs/c-arch/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-arch/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty consists of several &lt;a href=&#34;https://v15.pgsty.pro/docs/c-arch/#module&#34;&gt;modules&lt;/a&gt; that can be combined according to different scenarios.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;module&#34;&gt;Module&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty currently offers four modules.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-infra/&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/a&gt; is Pigsty&amp;rsquo;s infrastructure module, including monitoring/alerting/visualization/logging/DNS/NTP components.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/&#34;&gt;&lt;code&gt;NODES&lt;/code&gt;&lt;/a&gt; is the node management module for configuring nodes, installing software, and collecting metrics and logs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/a&gt; is a PostgreSQL deployment management module, including various PG cluster deployments and monitoring.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-redis/&#34;&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/a&gt; is the Redis deployment management module, including Redis standalone/native cluster/sentinel &lt;a href=&#34;https://v15.pgsty.pro/docs/d-redis/&#34;&gt;deployment&lt;/a&gt; and monitoring.&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: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-arch/#module&#34;&gt;Module&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://v15.pgsty.pro/docs/c-concept/&#34;&gt;Conecpt&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://v15.pgsty.pro/docs/d-deploy/&#34;&gt;Deploy&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://v15.pgsty.pro/docs/v-config/&#34;&gt;Config&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://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook&lt;/a&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;code&gt;INFRA&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-infra/&#34;&gt;Concept: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-deploy/&#34;&gt;Deploy: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/&#34;&gt;Config: INFRA&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;Playbook: INFRA&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;code&gt;NODES&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/&#34;&gt;Concept: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Deploy: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/&#34;&gt;Config: NODES&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/&#34;&gt;Playbook: NODES&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;code&gt;PGSQL&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/&#34;&gt;Concept: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;Deploy: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;Config: PGSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;Playbook: PGSQL&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;code&gt;REDIS&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-redis/&#34;&gt;Concept: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-redis/&#34;&gt;Deploy: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Config: REDIS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/&#34;&gt;Playbook: REDIS&lt;/a&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;usage&#34;&gt;Usage&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You can choose which modules to enable on which nodes based on different requirements.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Infrastructure</title>
        <link>https://v15.pgsty.pro/docs/c-infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-infra/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty provides a complete, battery-included PaaS infra.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty, as a battery-included PaaS solution, will integrate the basic infra into the provisioning solution.&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty deploys a complete set of infra on &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/&#34;&gt;meta nodes&lt;/a&gt; (the currently installed node), including:&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; style=&#34;text-align: center&#34;&gt;Component&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Port&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Default Domain&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 style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-infra/#nginx&#34;&gt;Nginx&lt;/a&gt;&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;&lt;code&gt;pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Web Service Portal&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://v15.pgsty.pro/docs/c-infra/#yum-repo&#34;&gt;Yum Repo&lt;/a&gt;&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;&lt;code&gt;yum.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;LocalYum Repo&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://v15.pgsty.pro/docs/c-infra/#grafana&#34;&gt;Grafana&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3000&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;g.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Monitoring System/Visualization Platform&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://v15.pgsty.pro/docs/c-infra/#alertmanager&#34;&gt;AlertManager&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;9093&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;a.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Alert aggregation management component&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://v15.pgsty.pro/docs/c-infra/#prometheus&#34;&gt;Prometheus&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;9090&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;p.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Monitoring Time Series Database&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://v15.pgsty.pro/docs/c-infra/#loki&#34;&gt;Loki&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3100&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;l.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Log Collection&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://v15.pgsty.pro/docs/c-infra/#consul&#34;&gt;Consul&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;8500&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;c.pigsty&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Distributed Configuration Management and Service Discovery&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://v15.pgsty.pro/docs/c-infra/#docker&#34;&gt;Docker&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2375&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;Container Platform&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://v15.pgsty.pro/docs/c-infra/#postgresql&#34;&gt;PostgreSQL&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;5432&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;Pigsty CMDB&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://v15.pgsty.pro/docs/c-infra/#ansible&#34;&gt;Ansible&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;-&lt;/td&gt;&#xA;      &lt;td&gt;Initiate management commands&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://v15.pgsty.pro/docs/c-infra/#consul&#34;&gt;Consul DNS&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;8600&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;DNS Service（Optional）&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://v15.pgsty.pro/docs/c-infra/#dnsmasq&#34;&gt;Dnsmasq&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;53&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;DNS Server（Optional）&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://v15.pgsty.pro/docs/c-infra/#ntp&#34;&gt;NTP&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;123&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td&gt;NTP Time Server（Optional）&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://v15.pgsty.pro/img/history/v1.5/INFRA.gif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;A set of environments contains one or more &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#meta-node&#34;&gt;meta nodes&lt;/a&gt; for infra deployment. All infrastructure components are deployed replica-style, except for &lt;strong&gt;DCS&lt;/strong&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Concept: Nodes</title>
        <link>https://v15.pgsty.pro/docs/c-nodes/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-nodes/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty use &lt;strong&gt;nodes&lt;/strong&gt; for deployment, nodes cloud be physical machines, VMs, or even Pods.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty has two types of nodes: &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#meta-node&#34;&gt;meta node&lt;/a&gt; and (normal) &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#node&#34;&gt;node&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Meta nodes are used to initiate control, and (normal) nodes are managed under control.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#meta-node&#34;&gt;Meta node&lt;/a&gt;: Run &lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt; playbook to install Pigsty, &lt;strong&gt;INFRA&lt;/strong&gt;, &lt;strong&gt;NODES&lt;/strong&gt;, and &lt;strong&gt;PGSQL&lt;/strong&gt; modules.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#node&#34;&gt;Node&lt;/a&gt;: Run &lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes&#34;&gt;&lt;code&gt;nodes.yml&lt;/code&gt;&lt;/a&gt; playbook to join Pigsty, and install the &lt;strong&gt;NODES&lt;/strong&gt; module by default.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;meta-node&#34;&gt;Meta Node&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Meta-Nodes are nodes installed with Pigsty, with admin capability and a complete &lt;a href=&#34;https://v15.pgsty.pro/docs/c-infra/&#34;&gt;infra&lt;/a&gt; set.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Concept: PGSQL</title>
        <link>https://v15.pgsty.pro/docs/c-pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-pgsql/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;This article introduces the core concepts required for PostgreSQL cluster management.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#pgsql-cluster&#34;&gt;PGSQL Cluster&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#er-model&#34;&gt;ER Model&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#identity-parameter&#34;&gt;Identity Parameter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#cluster&#34;&gt;Cluster&lt;/a&gt; /  &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#instance&#34;&gt;Instance&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#node&#34;&gt;Node&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#service&#34;&gt;Service&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#high-availability&#34;&gt;PostgreSQL HA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;Deploy: PGSQL&lt;/a&gt; ｜&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;Config: PGSQL&lt;/a&gt;  | &lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;Playbook: PGSQL&lt;/a&gt; ｜ &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/&#34;&gt;Custom: PGSQL&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#service&#34;&gt;PGSQL Service&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#access&#34;&gt;PGSQL Access&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#privilege&#34;&gt;PGSQL Privilege&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#authentication&#34;&gt;PGSQL Authentication&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#default-users&#34;&gt;PGSQL Users&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#cluster&#34;&gt;PGSQL Database&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pgsql-cluster&#34;&gt;PGSQL Cluster&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PGSQL for production environments is organized in &lt;strong&gt;clusters&lt;/strong&gt;, which &lt;strong&gt;clusters&lt;/strong&gt; are &lt;strong&gt;logical entities&lt;/strong&gt; consisting of a set of database &lt;strong&gt;instances&lt;/strong&gt; associated by &lt;strong&gt;primary-replica&lt;/strong&gt;. Each &lt;strong&gt;database cluster&lt;/strong&gt; is a &lt;strong&gt;self-organizing&lt;/strong&gt; business service unit consisting of at least one &lt;strong&gt;database instance&lt;/strong&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Concept: Redis</title>
        <link>https://v15.pgsty.pro/docs/c-redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-redis/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;This article introduces the core concepts required for Redis cluster management.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-redis/&#34;&gt;Deploy: Redis&lt;/a&gt; ｜&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Config: Redis&lt;/a&gt;  | &lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/&#34;&gt;Playbook: Redis&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;er-model&#34;&gt;ER Model&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The Redis entity concept model is almost identical to &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/&#34;&gt;PostgreSQL&lt;/a&gt; and includes the &lt;strong&gt;Cluster&lt;/strong&gt; and &lt;strong&gt;Instance&lt;/strong&gt;. Note that Cluster here does not refer to the clusters in Redis&amp;rsquo; native clusters.&lt;/p&gt;&#xA;&lt;p&gt;The core difference is that Redis typically uses multiple singleton instances, with &lt;strong&gt;multiple&lt;/strong&gt; Redis instances typically deployed on a single physical/VM to take advantage of multi-core CPUs.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Service &amp; Access</title>
        <link>https://v15.pgsty.pro/docs/c-service/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-service/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Defining PostgreSQL &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#service&#34;&gt;service&lt;/a&gt; and achieving stable, reliable, and HA &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#access&#34;&gt;access&lt;/a&gt; through LB and connection pooling.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The concepts of &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#service&#34;&gt;&lt;strong&gt;Service&lt;/strong&gt;&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-service/#access&#34;&gt;&lt;strong&gt;Access&lt;/strong&gt;&lt;/a&gt; are proposed for HA PostgreSQL clusters.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;personal-user&#34;&gt;Personal User&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;After completing the singleton deployment, port 5432 of this node provides PostgreSQL services, and port 80 provides UI class services.&lt;/p&gt;&#xA;&lt;p&gt;On the current meta node, executing &lt;code&gt;psql&lt;/code&gt; with no parameters using the admin user can connect directly to the local pre-defined &lt;code&gt;meta&lt;/code&gt; database.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Authentication and Privilege</title>
        <link>https://v15.pgsty.pro/docs/c-pgdbuser/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-pgdbuser/</guid>
        <description>&lt;p&gt;PostgreSQL provides a standard access control mechanism: &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#authentication&#34;&gt;Authentication&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#privilege&#34;&gt;Privileges&lt;/a&gt;, both of which are based on the &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#role&#34;&gt;Role&lt;/a&gt; system.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;role&#34;&gt;Role&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty&amp;rsquo;s default role system contains four &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#default-roles&#34;&gt;default roles&lt;/a&gt; and four &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#default-users&#34;&gt;default users&lt;/a&gt;：&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;name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;attr&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;roles&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;desc&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;role for global readonly access&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_readwrite&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;role for global read-write access&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_offline&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;role for restricted read-only access (offline instance)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_admin&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;br /&gt; Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;pg_signal_backend&lt;br /&gt;dbrole_readwrite&lt;/td&gt;&#xA;      &lt;td&gt;role for object creation&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;postgres&lt;/td&gt;&#xA;      &lt;td&gt;Superuser&lt;br /&gt;Create role&lt;br /&gt;Create DB&lt;br /&gt;Replication&lt;br /&gt;Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;system superuser&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;replicator&lt;/td&gt;&#xA;      &lt;td&gt;Replication&lt;br /&gt;Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;system replicator&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbuser_monitor&lt;/td&gt;&#xA;      &lt;td&gt;16 connections&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;system monitor user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbuser_dba&lt;/td&gt;&#xA;      &lt;td&gt;Bypass RLS&lt;br /&gt;Superuser&lt;/td&gt;&#xA;      &lt;td&gt;dbrole_admin&lt;/td&gt;&#xA;      &lt;td&gt;system admin user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h3 id=&#34;default-roles&#34;&gt;Default Roles&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Pigsty has four default roles：&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL Authentication and Privilege</title>
        <link>https://v15.pgsty.pro/docs/c-privilege/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/c-privilege/</guid>
        <description>&lt;p&gt;PostgreSQL provides a standard access control mechanism: &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#authentication&#34;&gt;Authentication&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#privilege&#34;&gt;Privileges&lt;/a&gt;, both of which are based on the &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#role&#34;&gt;Role&lt;/a&gt; system.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;role&#34;&gt;Role&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty&amp;rsquo;s default role system contains four &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#default-roles&#34;&gt;default roles&lt;/a&gt; and four &lt;a href=&#34;https://v15.pgsty.pro/docs/c-privilege/#default-users&#34;&gt;default users&lt;/a&gt;：&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;name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;attr&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;roles&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;desc&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;role for global readonly access&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_readwrite&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;role for global read-write access&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_offline&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;role for restricted read-only access (offline instance)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbrole_admin&lt;/td&gt;&#xA;      &lt;td&gt;Cannot login&lt;br /&gt; Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;pg_signal_backend&lt;br /&gt;dbrole_readwrite&lt;/td&gt;&#xA;      &lt;td&gt;role for object creation&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;postgres&lt;/td&gt;&#xA;      &lt;td&gt;Superuser&lt;br /&gt;Create role&lt;br /&gt;Create DB&lt;br /&gt;Replication&lt;br /&gt;Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;&lt;/td&gt;&#xA;      &lt;td&gt;system superuser&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;replicator&lt;/td&gt;&#xA;      &lt;td&gt;Replication&lt;br /&gt;Bypass RLS&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;system replicator&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbuser_monitor&lt;/td&gt;&#xA;      &lt;td&gt;16 connections&lt;/td&gt;&#xA;      &lt;td&gt;pg_monitor&lt;br /&gt;dbrole_readonly&lt;/td&gt;&#xA;      &lt;td&gt;system monitor user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;dbuser_dba&lt;/td&gt;&#xA;      &lt;td&gt;Bypass RLS&lt;br /&gt;Superuser&lt;/td&gt;&#xA;      &lt;td&gt;dbrole_admin&lt;/td&gt;&#xA;      &lt;td&gt;system admin user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h3 id=&#34;default-roles&#34;&gt;Default Roles&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Pigsty has four default roles：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty Deployment</title>
        <link>https://v15.pgsty.pro/docs/d-deploy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-deploy/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;It takes three steps to deploy Pigsty： &lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Prepare&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/&#34;&gt;Configure&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;preparation&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Preparation&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Before installing Pigsty, you need to prepare the required resources: physical/VM nodes, admin users, and download Pigsty software.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#node-provisioning&#34;&gt;Node provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#meta-node-provisioning&#34;&gt;Meta node provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#admin-provisioning&#34;&gt; Admin provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#software-provisioning&#34;&gt;Software provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;configuration&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/&#34;&gt;Configuration&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;After preparation, you need to indicate to Pigsty what infra and database services you need via &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#configure&#34;&gt;configure&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/&#34;&gt;Configure Infra&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/&#34;&gt;Configure Nodes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;Configure PGSQL Cluster&lt;/a&gt; / &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/&#34;&gt;Customize PGSQL Cluster&lt;/a&gt; /&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;Deploy PGSQL Cluster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Configure Redis Cluster&lt;/a&gt;  / &lt;a href=&#34;https://v15.pgsty.pro/docs/d-redis/&#34;&gt;Deploy Redis Cluster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-matrixdb/&#34;&gt;Deploy MatrixDB Cluster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;playbook-execution&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook Execution&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The next step can be to land the requirements by &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;executing the playbook&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Preparation</title>
        <link>https://v15.pgsty.pro/docs/d-prepare/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-prepare/</guid>
        <description>&lt;p&gt;How to prepare the resources required for Pigsty deployment.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#node-provisioning&#34;&gt;Node Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#meta-node-provisioning&#34;&gt;Meta Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#admin-provisioning&#34;&gt;Admin Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#software-provisioning&#34;&gt;Software Provisioning&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#pigsty-source-code&#34;&gt;Pigsty source code&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#pigsty-offline-package&#34;&gt;Pigsty offline package&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#vagrant&#34;&gt;Vagrant&lt;/a&gt; (sandbox)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#virtualbox&#34;&gt;Virtualbox&lt;/a&gt; (sandbox)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;node-provisioning&#34;&gt;Node Provisioning&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Before deploying Pigsty, the user needs to prepare machine node resources with arbitrary &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#node&#34;&gt;database nodes&lt;/a&gt;, including at least one &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#meta-node&#34;&gt;meta node&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://v15.pgsty.pro/docs/c-nodes/#node&#34;&gt;nodes&lt;/a&gt; can use any nodes: bare metals, local VMs, cloud VMs, containers, etc&amp;hellip;&#xA;only if the following conditions are met:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Sandbox</title>
        <link>https://v15.pgsty.pro/docs/d-sandbox/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-sandbox/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty supports both &lt;a href=&#34;https://v15.pgsty.pro/docs/d-sandbox/#local-sandbox&#34;&gt;local sandbox&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/d-sandbox/#cloud-sandbox&#34;&gt;cloud sandbox&lt;/a&gt; for quickly &lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;preparing&lt;/a&gt; a standard 1/4 node demo environment locally or in the cloud.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty provides a &lt;strong&gt;sandbox environment&lt;/strong&gt;. Ultimately creating and running through the sandbox installation and deployment process for deployment in production envs have Pigsty very helpful.&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The config specifications, object identities, and default database &lt;strong&gt;predetermined&lt;/strong&gt; environment of the sandbox are consistent in both the local and cloud versions.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Monitoring System</title>
        <link>https://v15.pgsty.pro/docs/d-monly/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-monly/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;How to use Pigsty to monitor existing PostgreSQL instances?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;For existing Pigsty instances that Pigsty does not create, some additional configuration is required if they are monitored using Pigsty&amp;rsquo;s monitoring system.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tl-dr&#34;&gt;TL; DR&#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Create the monitoring object in the target instance: &lt;a href=&#34;https://v15.pgsty.pro/docs/d-monly/&#34;&gt;monitoring object configuration&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Declare the cluster in the inventory.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-56758ed5-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;yaml&#34; data-td-line-count=&#34;11&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-56758ed5-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-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;                                &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Assign unique local ports to each instance&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;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;nt&#34;&gt;primary , pg_exporter_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;20001&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;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;2, 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;nt&#34;&gt;replica , pg_exporter_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;20002&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;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;3, 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;nt&#34;&gt;offline , pg_exporter_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;20003&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-test                &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Fill in the cluster name&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_version&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;14&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                      &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Fill in the major version of the database&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;test }]     &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# Fill in the database list (each database object as an array element)&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;c&#34;&gt;#  Provide monitoring user passwords in global/cluster/instance configs  pg_monitor_username/pg_monitor_password&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;Execute the playbook against the cluster: &lt;code&gt;./pgsql-monly.yml -l pg-test&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PostgreSQL Deployment</title>
        <link>https://v15.pgsty.pro/docs/d-pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-pgsql/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;This article describes several ways to deploy a PostgreSQL cluster using Pigsty: PGSQL-related &lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;playbook&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;config&lt;/a&gt;. Please refer to the related doc.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#identity&#34;&gt;Identity Parameters&lt;/a&gt;: Introduces the identity parameters required to define a standard PostgreSQL HA cluster.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#singleton&#34;&gt;Singleton Deployment&lt;/a&gt;: Defines a single instance PostgreSQL cluster.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#m-s-replication&#34;&gt;Primary-Replica Cluster&lt;/a&gt;: Defines a standard availability cluster with one primary &amp;amp; one replica.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#sync-standby&#34;&gt;Sync-Standby&lt;/a&gt;: Define a highly consistent cluster with sync standby and RPO = 0.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#quorum-commit&#34;&gt;Quorum Commit&lt;/a&gt;: Defines a cluster with higher data consistency: most replicas return commits on the successful side.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#offline-replica&#34;&gt;Offline Replica&lt;/a&gt;: Dedicated instances for hosting OLAP analysis, ETL, and interactive personal queries individually.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#standby-cluster&#34;&gt;Standby Cluster&lt;/a&gt;: Produces real-time online clones of existing clusters for offsite disaster recovery or delayed.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#delayed-cluster&#34;&gt;Delayed Cluster&lt;/a&gt;: For responding to software/human failures such as mistaken table and database deletion, faster than PITR.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#cascade-instance&#34;&gt;Cascade Instance&lt;/a&gt;: Used to build cascade within a cluster for many replica scenarios (20+) to reduce primary pressure.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#citus-deployment&#34;&gt;Citus Deployment&lt;/a&gt;: Deploy Citus distributed database cluster.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/#matrixdb-deployment&#34;&gt;MatrixDB Deployment&lt;/a&gt;: Deploy Greenplum7/PostgreSQL12 compatible chronological data warehouse.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;identity&#34;&gt;Identity&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Core Identity Parameters&lt;/strong&gt; are information that must be provided when defining a PostgreSQL cluster.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Redis Deployment</title>
        <link>https://v15.pgsty.pro/docs/d-redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-redis/</guid>
        <description>&lt;p&gt;Pigsty is a PostgreSQL distribution and a general-purpose application runtime. It can manage, deploy, and monitor other applications and databases, such as Redis.&lt;/p&gt;&#xA;&lt;p&gt;Similar to PostgreSQL, deploying Redis requires the same two steps.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Declare/Define the Redis cluster&lt;/li&gt;&#xA;&lt;li&gt;Execute Playbook to create the Redis cluster&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;define-redis-cluster&#34;&gt;Define Redis Cluster&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;er-model&#34;&gt;ER Model&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The Redis entity concept model is almost identical to &lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;PostgreSQL&lt;/a&gt; and includes the &lt;strong&gt;Cluster&lt;/strong&gt; and &lt;strong&gt;Instance&lt;/strong&gt;. Note that Cluster here does not refer to the clusters in Redis&amp;rsquo; native clusters.&lt;/p&gt;</description>
      </item>
    <item>
        <title>MatrixDB Deployment</title>
        <link>https://v15.pgsty.pro/docs/d-matrixdb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/d-matrixdb/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty can be used to deploy and monitor MatrixDB (equal to Greenplum 7+ Time-Series database).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Currently, MatrixDB uses PostgreSQL 12 kernel, while native Greenplum uses 9.6 kernels, so MatrixDB is used instead of Greenplum implementation, and Greenplum support will be added later.&lt;/p&gt;&#xA;&lt;h2 id=&#34;e-r-model&#34;&gt;E-R Model&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;MatrixDB is logically divided into two parts, Master and Segments, composed of PostgreSQL instances, divided into four categories: Master/Standby/Primary/Mirror.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Master is the port directly accessed by the user to take over queries. There is only one MatrixDB deployment, usually deployed using a standalone node.&lt;/li&gt;&#xA;&lt;li&gt;Standby is a physical replica of the Master instance, which takes over when the Master fails and is usually deployed using a standalone node, which is optional.&lt;/li&gt;&#xA;&lt;li&gt;A MatrixDB deployment typically has multiple Segments, each of which consists of a mandatory primary instance and an optional mirror instance.&lt;/li&gt;&#xA;&lt;li&gt;The segment&amp;rsquo;s primary is responsible for the actual storage and computation, and the mirror does not carry the read and write traffic. It takes over for the primary when the primary is down, usually distributed on different nodes from the primary.&lt;/li&gt;&#xA;&lt;li&gt;MatrixDB installation wizard determines the distribution of primary and mirror of Segment, and there may be different Segment instances on Segments nodes of the cluster.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Deployment conventions&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbooks</title>
        <link>https://v15.pgsty.pro/docs/p-playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/p-playbook/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Learn about the pre-built playbooks provided by Pigsty, the features, how to use them, and the considerations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty implements core control functions at the bottom through the &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/#ansible-quick-start&#34;&gt;Ansible Playbook&lt;/a&gt;, and Pigsty provides pre-built playbooks in four main categories:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;&lt;code&gt;infra&lt;/code&gt;&lt;/a&gt;: Use the &lt;code&gt;infra&lt;/code&gt; series of playbooks to install Pigsty singleton on the meta node with optional features.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/&#34;&gt;&lt;code&gt;nodes&lt;/code&gt;&lt;/a&gt;: Use the &lt;code&gt;nodes&lt;/code&gt; series of playbooks to include more nodes in Pigsty monitoring and management and for subsequent use.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt;: Use the &lt;code&gt;pgsql&lt;/code&gt; series of playbooks to deploy and manage PostgreSQL database clusters on existing nodes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/&#34;&gt;&lt;code&gt;redis&lt;/code&gt;&lt;/a&gt;: Use the &lt;code&gt;redis&lt;/code&gt; series of playbooks to deploy and manage various modes of Redis clusters on existing nodes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&#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;&gt;Playbook&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Function&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Link&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://v15.pgsty.pro/docs/p-infra/#infra&#34;&gt;&lt;strong&gt;infra&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;Full installation of Pigsty on the meta node&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/#infra-demo&#34;&gt;&lt;code&gt;infra-demo&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Special playbook for complete initialization of a four-node demo sandbox in one go&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra-demo.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/#infra-jupyter&#34;&gt;&lt;code&gt;infra-jupyter&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Adding the &lt;strong&gt;optional&lt;/strong&gt; data analysis service component Jupyter Lab to the meta node&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra-jupyter.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes&#34;&gt;&lt;strong&gt;nodes&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;Node provisioning to include nodes in Pigsty for subsequent database deployment&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/nodes.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes-remove&#34;&gt;&lt;code&gt;nodes-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Node remove, unloading node DCS and monitoring, no longer included in Pigsty&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/nodes-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql&#34;&gt;&lt;strong&gt;pgsql&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;PostgreSQL cluster deploy, or expand&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-remove&#34;&gt;&lt;code&gt;pgsql-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;PostgreSQL cluster destruction, or downsize&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createuser&#34;&gt;&lt;code&gt;pgsql-createuser&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Creating PostgreSQL business users&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-createuser.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createdb&#34;&gt;&lt;code&gt;pgsql-createdb&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Creating a PostgreSQL Business Database&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-createdb.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-monly&#34;&gt;&lt;code&gt;pgsql-monly&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Monly mode, with access to existing PostgreSQL instances or RDS&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-monly.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-migration&#34;&gt;&lt;code&gt;pgsql-migration&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Generate PostgreSQL semi-automatic database migration solution (Beta)&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-migration.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-matrixdb&#34;&gt;&lt;code&gt;pgsql-matrixdb&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Reuse the PG role to deploy a MatrixDB data warehouse clusters (Beta)&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-matrixdb.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/#redis&#34;&gt;&lt;strong&gt;redis&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;Deploy a Redis database in cluster/standalone/Sentinel mode&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/redis.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/#redis-remove&#34;&gt;&lt;code&gt;redis-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Redis cluster/node destruction&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/redis-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&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;The typical use process is as follows：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbook: INFRA</title>
        <link>https://v15.pgsty.pro/docs/p-infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/p-infra/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Install pigsty &amp;amp; Add new optional to meta node with &lt;code&gt;INFRA&lt;/code&gt; series &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;playbooks&lt;/a&gt;.&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;Playbook&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Function&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Link&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://v15.pgsty.pro/docs/p-infra/#infra&#34;&gt;&lt;code&gt;infra&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Install pigsty on meta nodes&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/#infra-demo&#34;&gt;&lt;code&gt;infra-demo&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Special version of &lt;code&gt;infra&lt;/code&gt;, pull up the 4-node sandbox in one-pass&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra-demo.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/#infra-remove&#34;&gt;&lt;code&gt;infra-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Uninstall pigsty from the meta node.&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/#infra-jupyter&#34;&gt;&lt;code&gt;infra-jupyter&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Install optional JupyterLab on meta node&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra-jupyter.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&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;infra&#34;&gt;&lt;code&gt;infra&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/infra.yml&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt; playbook will install &lt;strong&gt;Pigsty&lt;/strong&gt; on the &lt;strong&gt;meta nodes&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When using Pigsty as a battery-included Postgres, &lt;code&gt;infra.yml&lt;/code&gt; is sufficient for the installation.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbook: NODES</title>
        <link>https://v15.pgsty.pro/docs/p-nodes/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/p-nodes/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Use the &lt;code&gt;NODES&lt;/code&gt; &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;playbook&lt;/a&gt; to bring more nodes to Pigsty, adjusting nodes to the state described in the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/&#34;&gt;config&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Once pigsty is installed on the meta node with &lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt;, You can add more nodes to Pigsty with &lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes&#34;&gt;&lt;code&gt;nodes.yml&lt;/code&gt;&lt;/a&gt; or remove them from Pigsty with &lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes-remove&#34;&gt;&lt;code&gt;nodes-remove.yml&lt;/code&gt;&lt;/a&gt;.&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;Playbook&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Function&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Link&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://v15.pgsty.pro/docs/p-nodes/#nodes&#34;&gt;&lt;code&gt;nodes&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Node Provisioning. Register node into Pigsty and prepare for database deployment&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/nodes.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/#nodes-remove&#34;&gt;&lt;code&gt;nodes-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Node Removal, uninstall DCS &amp;amp; Monitoring &amp;amp; Logging, de-register from Pigsty&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/nodes-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&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;nodes&#34;&gt;&lt;code&gt;nodes&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/nodes.yml&#34;&gt;&lt;code&gt;nodes.yml&lt;/code&gt;&lt;/a&gt; playbook will register nodes to Pigsty.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbook: PGSQL</title>
        <link>https://v15.pgsty.pro/docs/p-pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/p-pgsql/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pull up a defined cluster of HA PostgreSQL cluster using the PGSQL series &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;playbook&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&#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;&gt;Playbook&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Function&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Link&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://v15.pgsty.pro/docs/p-pgsql/#pgsql&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;Deploy a PostgreSQL cluster, or cluster expand&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-remove&#34;&gt;&lt;code&gt;pgsql-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Destroy PostgreSQL cluster, or cluster downsize&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createuser&#34;&gt;&lt;code&gt;pgsql-createuser&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Create PostgreSQL business users&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-createuser.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createdb&#34;&gt;&lt;code&gt;pgsql-createdb&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Create a PostgreSQL Business Database&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-createdb.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-monly&#34;&gt;&lt;code&gt;pgsql-monly&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Monly mode, with access to existing PostgreSQL instances or RDS&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-monly.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-migration&#34;&gt;&lt;code&gt;pgsql-migration&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Generate PostgreSQL semi-automatic database migration solution (Beta)&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-migration.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-matrixdb&#34;&gt;&lt;code&gt;pgsql-matrixdb&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Reuse the PG to deploy a set of MatrixDB clusters (Beta)&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql-matrixdb.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&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;pgsql&#34;&gt;&lt;code&gt;pgsql&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;After completing the &lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;&lt;strong&gt;infra initialization&lt;/strong&gt;&lt;/a&gt;, users can use &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pgsql.yml&#34;&gt; &lt;code&gt;pgsql.yml&lt;/code&gt;&lt;/a&gt; to complete the &lt;strong&gt;initialization&lt;/strong&gt; of the database cluster.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbook: REDIS</title>
        <link>https://v15.pgsty.pro/docs/p-redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/p-redis/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;REDIS series &lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook&lt;/a&gt;: Define and pull Redis databases in traditional standalone, native, and sentinel clusters.&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;Playbook&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Function&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Link&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://v15.pgsty.pro/docs/p-redis/#redis&#34;&gt;&lt;code&gt;redis&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Deploying a Redis database in Native/Standalone/Sentinel cluster&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/redis.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/#redis-remove&#34;&gt;&lt;code&gt;redis-remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Redis cluster/node destruction&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/redis-remove.yml&#34;&gt;&lt;code&gt;src&lt;/code&gt;&lt;/a&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;redis&#34;&gt;&lt;code&gt;redis&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Deploy redis instances on nodes.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e49e4a17-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;8&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e49e4a17-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;# init all redis instances on group &amp;lt;cluster&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; ./redis.yml -l &amp;lt;cluster&amp;gt;       &lt;span class=&#34;c1&#34;&gt;# create redis among group &amp;lt;cluster&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;&#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;# init all redis instances specific node&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ./redis.yml -l 10.10.10.10     &lt;span class=&#34;c1&#34;&gt;# setup all redis instances on node 10.10.10.10&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;&lt;span class=&#34;c1&#34;&gt;# init one specific instance 10.10.10.11:6501 (skip redis node)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; ./redis.yml -l 10.10.10.11 -e &lt;span class=&#34;nv&#34;&gt;redis_port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;6501&lt;/span&gt; -t redis&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;Alias script &lt;code&gt;bin/createredis&lt;/code&gt; wrap above playbook with:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Configuration</title>
        <link>https://v15.pgsty.pro/docs/v-config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-config/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Pigsty uses declarative &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/&#34;&gt;configuration&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty defines infra and database clusters through &lt;strong&gt;Inventory&lt;/strong&gt;, and each Pigsty &lt;a href=&#34;https://v15.pgsty.pro/docs/d-deploy/&#34;&gt;deploy&lt;/a&gt; has a corresponding &lt;strong&gt;config&lt;/strong&gt;. Pigsty&amp;rsquo;s config uses the &amp;ldquo;Infra as Data&amp;rdquo; philosophy: Users describe requirements through the declarative config, and Pigsty adapts the fundamental components to the expected state.&lt;/p&gt;&#xA;&lt;p&gt;Formally, the inventory can be implemented as a default local &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#config-file&#34;&gt;config file&lt;/a&gt; or as dynamic configuration data in &lt;a href=&#34;https://v15.pgsty.pro/docs/t-cmdb/&#34;&gt;CMDB&lt;/a&gt;. This article uses the default YAML configuration file &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pigsty.yml&#34;&gt;&lt;code&gt;pigsty.yml&lt;/code&gt;&lt;/a&gt; as an example. Pigsty detects the current node environment and generates the recommended config file in &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#configure&#34;&gt;configure&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Config: Infra</title>
        <link>https://v15.pgsty.pro/docs/v-infra/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-infra/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Use the &lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;INFRA Playbook&lt;/a&gt;, and &lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;deploy the PGSQL&lt;/a&gt; cluster to adjust the cluster state to the state described in &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;PGSQL Config&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Use the &lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;INFRA&lt;/a&gt; series playbooks to configure the Pigsty infra.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Infra config deals with such issues: localYum repos, machine node base services: DNS, NTP, kernel modules, parameter tuning, admin users, installing packages, DCS Server setup, monitor infra installation, and initialization (Grafana, Prometheus, Alertmanager), global traffic portal Nginx config, etc.&lt;/p&gt;&#xA;&lt;p&gt;Usually, the infra requires very few modifications, and the main modification is just a text replacement of the meta node IPs, which is done in &lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#configure&#34;&gt;&lt;code&gt;./configure&lt;/code&gt;&lt;/a&gt; automatically. The other occasional change is to the access domain defined in &lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/#nginx_upstream&#34;&gt;&lt;code&gt;nginx_upstream&lt;/code&gt;&lt;/a&gt;. Other parameters are adjusted as needed.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Config: Nodes</title>
        <link>https://v15.pgsty.pro/docs/v-nodes/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-nodes/</guid>
        <description>&lt;p&gt;Pigsty provides host provisioning and monitoring functions. The &lt;a href=&#34;https://v15.pgsty.pro/docs/p-nodes/&#34;&gt;&lt;code&gt;nodes.yml&lt;/code&gt;&lt;/a&gt; playbook can be executed to configure the node to the corresponding state and incorporate it into the Pigsty monitor system.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt; : Node identity parameters&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;: Node domain name resolution&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/&#34;&gt;&lt;code&gt;NODE_PACKAGE&lt;/code&gt;&lt;/a&gt;: Node Repo &amp;amp; Packages&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;: Node features &amp;amp; kernel tuning&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;: Node admin user &amp;amp; dir&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;: Node time zone, NTP, crontab&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/a&gt;: Node docker daemon&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter&#34;&gt;&lt;code&gt;NODE_EXPORTER&lt;/code&gt;&lt;/a&gt;: Node metrics exporter&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;: Logger agent&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;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Section&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Level&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Comment&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;300&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#meta_node&#34;&gt;&lt;code&gt;meta_node&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;mark this node as meta&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;301&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#nodename&#34;&gt;&lt;code&gt;nodename&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;I&lt;/td&gt;&#xA;      &lt;td&gt;node instance identity&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;302&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_cluster&#34;&gt;&lt;code&gt;node_cluster&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;node cluster identity&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;303&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#nodename_overwrite&#34;&gt;&lt;code&gt;nodename_overwrite&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;overwrite hostname with nodename&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;304&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#nodename_exchange&#34;&gt;&lt;code&gt;nodename_exchange&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;exchange static hostname&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;310&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_etc_hosts_default&#34;&gt;&lt;code&gt;node_etc_hosts_default&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;static DNS records&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;311&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_etc_hosts&#34;&gt;&lt;code&gt;node_etc_hosts&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;extra static DNS records&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;312&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns_method&#34;&gt;&lt;code&gt;node_dns_method&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;how to setup dns service?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;313&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns_servers&#34;&gt;&lt;code&gt;node_dns_servers&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;dynamic DNS servers&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;314&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns_options&#34;&gt;&lt;code&gt;node_dns_options&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_dns&#34;&gt;&lt;code&gt;NODE_DNS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;/etc/resolv.conf options&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;320&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo_method&#34;&gt;&lt;code&gt;node_repo_method&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo&#34;&gt;&lt;code&gt;NODE_PA&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;how to use yum repo (local)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;321&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo_remove&#34;&gt;&lt;code&gt;node_repo_remove&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo&#34;&gt;&lt;code&gt;NODE_REPO&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;remove existing repo file?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;322&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo_local_urls&#34;&gt;&lt;code&gt;node_repo_local_urls&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_repo&#34;&gt;&lt;code&gt;NODE_REPO&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;url[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;local yum repo url list&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;330&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages_default&#34;&gt;&lt;code&gt;node_packages_default&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages&#34;&gt;&lt;code&gt;NODE_PACKAGES&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;pkgs to be installed on all node&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;331&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages&#34;&gt;&lt;code&gt;node_packages&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages&#34;&gt;&lt;code&gt;NODE_PACKAGES&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;extra pkgs to be installed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;332&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages_meta&#34;&gt;&lt;code&gt;node_packages_meta&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages&#34;&gt;&lt;code&gt;NODE_PACKAGES&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;meta node only packages&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;333&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages_meta_pip&#34;&gt;&lt;code&gt;node_packages_meta_pip&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_packages&#34;&gt;&lt;code&gt;NODE_PACKAGES&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;meta node pip3 packages&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;340&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_disable_firewall&#34;&gt;&lt;code&gt;node_disable_firewall&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;disable firewall?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;341&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_disable_selinux&#34;&gt;&lt;code&gt;node_disable_selinux&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;disable selinux?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;342&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_disable_numa&#34;&gt;&lt;code&gt;node_disable_numa&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;disable numa?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;343&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_disable_swap&#34;&gt;&lt;code&gt;node_disable_swap&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;disable swap?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;344&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_static_network&#34;&gt;&lt;code&gt;node_static_network&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;use static DNS config?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;345&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_disk_prefetch&#34;&gt;&lt;code&gt;node_disk_prefetch&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;enable disk prefetch?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;346&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_kernel_modules&#34;&gt;&lt;code&gt;node_kernel_modules&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;kernel modules to be installed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;347&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;node_tune&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;node tune mode&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;348&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_sysctl_params&#34;&gt;&lt;code&gt;node_sysctl_params&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_tune&#34;&gt;&lt;code&gt;NODE_TUNE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;dict&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;extra kernel parameters&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;350&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_data_dir&#34;&gt;&lt;code&gt;node_data_dir&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;path&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;default data disk mountpoint&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;351&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_enabled&#34;&gt;&lt;code&gt;node_admin_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;create admin user?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;352&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_uid&#34;&gt;&lt;code&gt;node_admin_uid&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;admin user UID&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;353&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_username&#34;&gt;&lt;code&gt;node_admin_username&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;admin user name&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;354&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_ssh_exchange&#34;&gt;&lt;code&gt;node_admin_ssh_exchange&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;exchange admin ssh keys?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;355&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_pk_current&#34;&gt;&lt;code&gt;node_admin_pk_current&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;A&lt;/td&gt;&#xA;      &lt;td&gt;pks to be added to admin&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;356&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin_pk_list&#34;&gt;&lt;code&gt;node_admin_pk_list&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_admin&#34;&gt;&lt;code&gt;NODE_ADMIN&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;key[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;add current user&amp;rsquo;s pkey?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;360&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_timezone&#34;&gt;&lt;code&gt;node_timezone&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;node timezone&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;361&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_ntp_enabled&#34;&gt;&lt;code&gt;node_ntp_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;setup ntp on node?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;362&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_ntp_service&#34;&gt;&lt;code&gt;node_ntp_service&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;ntp mode: ntp or chrony?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;363&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_ntp_servers&#34;&gt;&lt;code&gt;node_ntp_servers&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;ntp server list&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;364&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_crontab_overwrite&#34;&gt;&lt;code&gt;node_crontab_overwrite&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;overwrite instead of append /etc/crontab&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;365&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_crontab&#34;&gt;&lt;code&gt;node_crontab&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_time&#34;&gt;&lt;code&gt;NODE_TIME&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;crontab list of node&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;370&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker_enabled&#34;&gt;&lt;code&gt;docker_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;docker enabled?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;371&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker_cgroups_driver&#34;&gt;&lt;code&gt;docker_cgroups_driver&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;docker cgroup driver&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;372&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker_registry_mirrors&#34;&gt;&lt;code&gt;docker_registry_mirrors&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;docker registry mirror location&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;373&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker_image_cache&#34;&gt;&lt;code&gt;docker_image_cache&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#docker&#34;&gt;&lt;code&gt;DOCKER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;path&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;docker image cache tarball&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;380&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter_enabled&#34;&gt;&lt;code&gt;node_exporter_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter&#34;&gt;&lt;code&gt;NODE_EXPORTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;node_exporter enabled?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;381&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter_port&#34;&gt;&lt;code&gt;node_exporter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter&#34;&gt;&lt;code&gt;NODE_EXPORTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;node_exporter listen port&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;382&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter_options&#34;&gt;&lt;code&gt;node_exporter_options&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#node_exporter&#34;&gt;&lt;code&gt;NODE_EXPORTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;node_exporter extra cli args&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;390&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail_enabled&#34;&gt;&lt;code&gt;promtail_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;promtail enabled ?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;391&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail_clean&#34;&gt;&lt;code&gt;promtail_clean&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C/A&lt;/td&gt;&#xA;      &lt;td&gt;remove promtail status file ?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;392&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail_port&#34;&gt;&lt;code&gt;promtail_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;promtail listen port&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;393&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail_options&#34;&gt;&lt;code&gt;promtail_options&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;promtail cli args&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;394&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail_positions&#34;&gt;&lt;code&gt;promtail_positions&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-nodes/#promtail&#34;&gt;&lt;code&gt;PROMTAIL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;path to store promtail status file&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;node_identity&#34;&gt;&lt;code&gt;NODE_IDENTITY&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Each node has &lt;strong&gt;identity parameters&lt;/strong&gt; that are configured through the parameters in &lt;code&gt;&amp;lt;cluster&amp;gt;.hosts&lt;/code&gt; and &lt;code&gt;&amp;lt;cluster&amp;gt;.vars&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Config: PGSQL</title>
        <link>https://v15.pgsty.pro/docs/v-pgsql/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-pgsql/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Use the &lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/&#34;&gt;PGSQL Playbook&lt;/a&gt;, and &lt;a href=&#34;https://v15.pgsty.pro/docs/d-pgsql/&#34;&gt;deploy the PGSQL&lt;/a&gt; cluster to adjust the cluster state to the state described in the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt; PGSQL config&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty has 100+ config parameters for describing a PostgreSQL cluster. However, users usually only need to care about a few parameters in &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/#pg_identity&#34;&gt;identity params&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/#pg_business&#34;&gt;business objects&lt;/a&gt;: the former expresses the database cluster &amp;ldquo;Who is it? Where is it?&amp;rdquo; and the latter represents the database &amp;ldquo;What does it look like? What&amp;rsquo;s in it?&amp;rdquo;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Config: REDIS</title>
        <link>https://v15.pgsty.pro/docs/v-redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-redis/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/&#34;&gt;Config&lt;/a&gt; &lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Redis&lt;/a&gt; cluster and manipulate &lt;a href=&#34;https://v15.pgsty.pro/docs/p-redis/&#34;&gt;REDIS playbook&lt;/a&gt; behavior. Refer to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-redis/&#34;&gt;Redis Deployment&lt;/a&gt; for details.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_identity&#34;&gt;&lt;code&gt;REDIS_IDENTITY&lt;/code&gt;&lt;/a&gt;: REDIS Identity Params&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;REDIS_NODE&lt;/code&gt;&lt;/a&gt;: REDIS Software, Dir &amp;amp; Exporter&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;: REDIS Server Provisioning&lt;/p&gt;&#xA;&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;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Section&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Level&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Comment&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;700&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_cluster&#34;&gt;&lt;code&gt;redis_cluster&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_identity&#34;&gt;&lt;code&gt;REDIS_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;redis cluster identity&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;701&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;redis_node&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_identity&#34;&gt;&lt;code&gt;REDIS_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;I&lt;/td&gt;&#xA;      &lt;td&gt;redis node identity&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;702&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_instances&#34;&gt;&lt;code&gt;redis_instances&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_identity&#34;&gt;&lt;code&gt;REDIS_IDENTITY&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;instance[]&lt;/td&gt;&#xA;      &lt;td&gt;I&lt;/td&gt;&#xA;      &lt;td&gt;redis instances definition on this node&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;710&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_fs_main&#34;&gt;&lt;code&gt;redis_fs_main&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;REDIS_NODE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;path&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;main data disk for redis&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;711&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_exporter_enabled&#34;&gt;&lt;code&gt;redis_exporter_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;REDIS_NODE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;install redis exporter on redis nodes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;712&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_exporter_port&#34;&gt;&lt;code&gt;redis_exporter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;REDIS_NODE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;default port for redis exporter&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;713&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_exporter_options&#34;&gt;&lt;code&gt;redis_exporter_options&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_node&#34;&gt;&lt;code&gt;REDIS_NODE&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;default cli args for redis exporter&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;720&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_safeguard&#34;&gt;&lt;code&gt;redis_safeguard&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;set to true to disable purge&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;721&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_clean&#34;&gt;&lt;code&gt;redis_clean&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;purge existing redis during init&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;722&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_rmdata&#34;&gt;&lt;code&gt;redis_rmdata&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;remove redis data dir with it?&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;723&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_mode&#34;&gt;&lt;code&gt;redis_mode&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;standalone,cluster,sentinel&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;724&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_conf&#34;&gt;&lt;code&gt;redis_conf&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;which config template will be used&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;725&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_bind_address&#34;&gt;&lt;code&gt;redis_bind_address&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;ip&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;e.g 0.0.0.0, empty will use inventory_hostname as bind address&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;726&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_max_memory&#34;&gt;&lt;code&gt;redis_max_memory&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;size&lt;/td&gt;&#xA;      &lt;td&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;max memory used by each redis instance&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;727&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_mem_policy&#34;&gt;&lt;code&gt;redis_mem_policy&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;enum&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;memory eviction policy&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;728&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_password&#34;&gt;&lt;code&gt;redis_password&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;empty password disable password auth (masterauth &amp;amp; requirepass)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;729&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_rdb_save&#34;&gt;&lt;code&gt;redis_rdb_save&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;string[]&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;RDB save cmd, disable with empty  array&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;730&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_aof_enabled&#34;&gt;&lt;code&gt;redis_aof_enabled&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;enable redis AOF&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;731&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_rename_commands&#34;&gt;&lt;code&gt;redis_rename_commands&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;object&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;rename dangerous commands&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;732&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_cluster_replicas&#34;&gt;&lt;code&gt;redis_cluster_replicas&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/#redis_provision&#34;&gt;&lt;code&gt;REDIS_PROVISION&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;C&lt;/td&gt;&#xA;      &lt;td&gt;how much replicas per master in redis cluster ?&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;redis_identity&#34;&gt;&lt;code&gt;REDIS_IDENTITY&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Identity parameters&lt;/strong&gt; are the information that must be provided to define a Redis cluster, including:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Customize: PGSQL</title>
        <link>https://v15.pgsty.pro/docs/v-pgsql-customize/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/v-pgsql-customize/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/#patroni-templates&#34;&gt;Patroni template&lt;/a&gt; is used to customize the &lt;strong&gt;specification config&lt;/strong&gt; of the PostgreSQL cluster, while the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/#postgres-templates&#34;&gt;Postgres template&lt;/a&gt; is used to customize the &lt;strong&gt;content&lt;/strong&gt; of the PostgreSQL cluster.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pigsty provides nearly 100 parameters on &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;PGSQL&lt;/a&gt; describing the PostgreSQL cluster.&lt;/p&gt;&#xA;&lt;p&gt;However, if you profoundly customize the database cluster created by Pigsty, you can see the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/#patroni-templates&#34;&gt;Patroni template&lt;/a&gt; and &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/#postgres-templates&#34;&gt;Postgres template&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;patroni-templates&#34;&gt;Patroni Templates&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty uses &lt;a href=&#34;https://github.com/zalando/patroni&#34;&gt;Patroni&lt;/a&gt; to manage and initialize Postgres clusters.&#xA;Suppose you wish to modify the default config params, specifications and tuning schemes, HA policies, DCS access, and control APIs of the PostgreSQL cluster. You can do so by modifying the Patroni template.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pigsty Dashboards</title>
        <link>https://v15.pgsty.pro/docs/m-dashboard/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/m-dashboard/</guid>
        <description>&lt;p&gt;Pigsty provides a professional and easy-to-use PostgreSQL monitor system that distills the industry&amp;rsquo;s monitoring best practices.&lt;/p&gt;&#xA;&lt;p&gt;The Pigsty monitoring dashboard consists of several relatively independent boards.&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;Application&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;&lt;a href=&#34;http://demo.pigsty.cc/d/home&#34;&gt;Home&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Home&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-dashboard/#pgsql&#34;&gt;&lt;code&gt;PGSQL&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;PostgreSQL Database Monitor&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-dashboard/#redis&#34;&gt;&lt;code&gt;REDIS&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Redis Database Monitor&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-dashboard/#nodes&#34;&gt;&lt;code&gt;NODES&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Host Node Monitor&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-dashboard/#infra&#34;&gt;&lt;code&gt;INFRA&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Infra monitoring/logging&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-dashboard/#app&#34;&gt; APP&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Extra added applications&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;home&#34;&gt;HOME&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty&amp;rsquo;s home page provides navigation to the various boards.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://demo.pigsty.cc/d/home&#34;&gt;HOME&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;pgsql&#34;&gt;PGSQL&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The PostgreSQL monitoring dashboard has its level, from the top down, as follows：&lt;/p&gt;</description>
      </item>
    <item>
        <title>Service Discovery</title>
        <link>https://v15.pgsty.pro/docs/m-discovery/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/m-discovery/</guid>
        <description>&lt;p&gt;This article describes the mechanism used by the Pigsty monitor system Prometheus to discover monitor objects.&lt;/p&gt;&#xA;&lt;p&gt;The basis of service discovery is &lt;strong&gt;identity&lt;/strong&gt;. For more identity information, please refer to the section &lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgsql/#er-model&#34;&gt;&lt;strong&gt;entity&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It would help if you also associated &lt;strong&gt;monitor targets&lt;/strong&gt; with the identity in the monitor system, and Pigsty provides two implementations.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-discovery/#static-file-service-discovery&#34;&gt;Static File Service Discovery&lt;/a&gt;: Using an automatically maintained configuration file (default).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/m-discovery/#consul-service-discovery&#34;&gt;Consul service discovery&lt;/a&gt;: Uses automatically maintained Consul service registration information.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The static file is the default service discovery mechanism. Before v1.0.0, Consul was the default service discovery method, and the discovery mechanism could be configured via parameters.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Metrics</title>
        <link>https://v15.pgsty.pro/docs/m-metric/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/m-metric/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Metric&lt;/strong&gt; is the core concept of Pigsty&amp;rsquo;s monitor system.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;format&#34;&gt;Format&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Metrics&lt;/strong&gt; are formally cumulative, atomic logical units of measure that can be updated and statistically aggregated over periods.&lt;/p&gt;&#xA;&lt;p&gt;Metrics typically exist as &lt;strong&gt;time series with dimension labels&lt;/strong&gt;. For example, &lt;code&gt;pg:ins:qps_realtime&lt;/code&gt; in the Pigsty sandbox refers to the presentation of &lt;strong&gt;real-time QPS&lt;/strong&gt; for all instances.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-d958ceaa-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;json&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-d958ceaa-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-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;pg:ins:xact_commit_rate&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;cls=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-meta&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ins=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-meta-1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ip=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;10.10.10.10&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;role=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;primary&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&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;err&#34;&gt;pg:ins:xact_commit_rate&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;cls=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ins=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test-1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ip=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;10.10.10.11&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;role=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;primary&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;327.6&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;err&#34;&gt;pg:ins:xact_commit_rate&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;cls=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ins=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test-2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ip=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;10.10.10.12&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;role=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;replica&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;517.0&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;err&#34;&gt;pg:ins:xact_commit_rate&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;cls=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ins=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;pg-test-3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;ip=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;10.10.10.13&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;role=&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;replica&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&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;Users can perform &lt;strong&gt;operations&lt;/strong&gt; on &lt;strong&gt;indicators&lt;/strong&gt;: summation, derivation, aggregation, etc.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Alerting</title>
        <link>https://v15.pgsty.pro/docs/r-alert/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/r-alert/</guid>
        <description>&lt;p&gt;Pigsty uses Prometheus as the primary alerting system.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://p.pigsty.cc/alerts&#34;&gt;Prometheus&lt;/a&gt; + &lt;a href=&#34;http://a.pigsty.cc/#/alerts&#34;&gt;AlertManager&lt;/a&gt; (primary)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://demo.pigsty.cc/d/pgsql-alert&#34;&gt;Grafana&lt;/a&gt; (backup), not enabled by default&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;alert&#34;&gt;Alert&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Alerts are critical for daily fault response and improving system availability.&lt;/p&gt;&#xA;&lt;p&gt;Missing alarms will lead to reduced availability, and false alarms will lead to reduced sensitivity, and it is necessary to design the alarm rules prudently.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A reasonable definition of alert levels and the corresponding processing flow.&lt;/li&gt;&#xA;&lt;li&gt;A reasonable definition of alert indicators, removal of duplicate alert items, and replenishment of missing alert items.&lt;/li&gt;&#xA;&lt;li&gt;Scientific config of alert thresholds based on historical monitoring data reduces the false alert rate.&lt;/li&gt;&#xA;&lt;li&gt;Reasonably rationalize the special case rules to eliminate false alerts caused by maintenance work, ETL, and offline queries.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;alert-taxonomy&#34;&gt;Alert Taxonomy&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Categorized by source module&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Install Applications</title>
        <link>https://v15.pgsty.pro/docs/t-application/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-application/</guid>
        <description>&lt;p&gt;Pigsty can be used to deploy and monitor PostgreSQL and make and distribute data &lt;strong&gt;Applications&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Pigsty provides three sample applications.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-application/#pglog-csvlog-sample-analysis&#34;&gt;&lt;code&gt;pglog&lt;/code&gt;&lt;/a&gt;, which analyzes PostgreSQL CSV log samples.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-application/#covid&#34;&gt;&lt;code&gt;covid&lt;/code&gt;&lt;/a&gt;, which visualizes WHO COVID-19 data and accesses country outbreak data.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-application/#isd&#34;&gt;&lt;code&gt;pglog&lt;/code&gt;&lt;/a&gt;, NOAA ISD, allows querying weather observation records from 1901 for 30,000 surface weather stations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;structure-of-the-application&#34;&gt;Structure of the application&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A Pigsty application typically includes at least one or all of the following.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Docker Applications</title>
        <link>https://v15.pgsty.pro/docs/t-docker/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-docker/</guid>
        <description>&lt;p&gt;Pigsty v1.5.1 comes with Docker and Docker Compose deployment support, where Docker Daemon will be enabled by default on the meta node.&lt;/p&gt;&#xA;&lt;p&gt;You can use Docker to deploy and launch software applications quickly. You can directly access the PostgreSQL/Redis database deployed on the host in the container using the connection string.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/#pgadmin4&#34;&gt;PgAdmin4&lt;/a&gt;: A GUI tool for managing PostgreSQL instances.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/#pgweb&#34;&gt;PGWeb&lt;/a&gt;: A tool automatically generates back-end API services based on PG database schema.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/#postgrest&#34;&gt;PostgREST&lt;/a&gt;: A tool to automatically generate backend API services based on PG database schema.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/#bytebase&#34;&gt;ByteBase&lt;/a&gt;: A GUI tool for making PostgreSQL schema changes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-docker/#jupyter&#34;&gt;Jupyter Lab&lt;/a&gt;: A battery-included Python lab environment for data analysis and processing.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can also use Docker to execute some battery-included command tools.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Upgrade Grafana Backend Database</title>
        <link>https://v15.pgsty.pro/docs/t-grafana-upgrade/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-grafana-upgrade/</guid>
        <description>&lt;p&gt;You can use postgres as the database used by the Grafana backend.&lt;/p&gt;&#xA;&lt;p&gt;In this tutorial, you will learn about the following.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#create-cluster&#34;&gt;create a new cluster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;How to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#create-biz-user&#34;&gt;create a new biz user&lt;/a&gt; in an existing database cluster&lt;/li&gt;&#xA;&lt;li&gt;How to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#create-biz-database&#34;&gt;create a new biz database&lt;/a&gt; in an existing database cluster&lt;/li&gt;&#xA;&lt;li&gt;How to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#access-database&#34;&gt;access databases&lt;/a&gt; created by Pigsty&lt;/li&gt;&#xA;&lt;li&gt;How to &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#manage-dashboard&#34;&gt;manage dashboards&lt;/a&gt; in Grafana&lt;/li&gt;&#xA;&lt;li&gt;How to manage &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#manage-datasources&#34;&gt;PostgreSQL DataSources&lt;/a&gt;  in Grafana&lt;/li&gt;&#xA;&lt;li&gt;How to do &lt;a href=&#34;https://v15.pgsty.pro/docs/t-grafana-upgrade/#update-grafana-database&#34;&gt;upgrade the grafana database&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tl-dr&#34;&gt;TL; DR&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-eb9137d7-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-eb9137d7-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;# uncomment user/db definition：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/createuser  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/createdb    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;# check pgurl connectivity&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;# edit [database] section: type &amp;amp; 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;h2 id=&#34;create-postgres-cluster&#34;&gt;Create Postgres Cluster&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;We can define a new database &lt;code&gt;grafana&lt;/code&gt; on &lt;code&gt;pg-meta&lt;/code&gt;.&#xA;A Grafana-specific database cluster can also be created on a new machine node: &lt;code&gt;pg-grafana&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Jupyter Lab</title>
        <link>https://v15.pgsty.pro/docs/t-jupyter/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-jupyter/</guid>
        <description>&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-605619e4-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-605619e4-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;./infra-jupyter.yml &lt;span class=&#34;c1&#34;&gt;# install jupyter on meta node on port 8888 with user jupyter and password pigsty&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-jupyter.yml -e &lt;span class=&#34;nv&#34;&gt;jupyter_port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;8887&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# use another port 8887 by default&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-jupyter.yml -e &lt;span class=&#34;nv&#34;&gt;jupyter_username&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;osuser_jupyter &lt;span class=&#34;nv&#34;&gt;jupyter_password&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pigsty2 &lt;span class=&#34;c1&#34;&gt;# use another password&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;h2 id=&#34;jupyter-config&#34;&gt;Jupyter Config&#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;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Section&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Level&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Comment&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;220&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/#jupyter_port&#34;&gt;&lt;code&gt;jupyter_port&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/&#34;&gt;&lt;code&gt;JUPYTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;int&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;jupyter server listen port&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;221&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/#jupyter_username&#34;&gt;&lt;code&gt;jupyter_username&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/&#34;&gt;&lt;code&gt;JUPYTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;os user for jupyter lab&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;222&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/#jupyter_password&#34;&gt;&lt;code&gt;jupyter_password&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-jupyter/&#34;&gt;&lt;code&gt;JUPYTER&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;bool&lt;/td&gt;&#xA;      &lt;td&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;password for jupyter lab&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Jupyter Lab is a complete data science R&amp;amp;D env based on IPython Notebook for data analysis and visualization. It is currently an optional Beta feature and is only enabled in the demo by default.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Backup and Recovery</title>
        <link>https://v15.pgsty.pro/docs/t-backup/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-backup/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Backup &amp;amp; Recovery matters.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Failures can be divided into two categories: hardware/resource failures and software/human errors.&lt;/p&gt;&#xA;&lt;p&gt;Replication aims for the former, while delayed replica &amp;amp; cold backups aim for the latter.&lt;/p&gt;&#xA;&lt;p&gt;Pigsty has complete support for backups. There is battery-included physical replication that can be configured by simply declaring replica &amp;amp; delayed roles. And handy cold backup scripts for cold backup.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-backup/#physical-replica&#34;&gt;Physical Replica&lt;/a&gt; (Hot/Warm Standby)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-backup/#delayed-replica&#34;&gt;Delayed Replica&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/t-backup/&#34;&gt;Cold Standby&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;physical-replica&#34;&gt;Physical Replica&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In Pigsty, physical backups are created by specifying roles (&lt;code&gt;pg_role&lt;/code&gt;) for the database instances. For example, the following configuration declares a HA database cluster with one primary &amp;amp; two replicas.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Offline Installation</title>
        <link>https://v15.pgsty.pro/docs/t-offline/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-offline/</guid>
        <description>&lt;p&gt;Pigsty downloads all dependent packages from the Internet and creates &lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/#repo&#34;&gt;&lt;strong&gt;local Yum repo&lt;/strong&gt;&lt;/a&gt; during initialization.&lt;/p&gt;&#xA;&lt;p&gt;The total size of all the dependent software is about 1GB or so. Although Pigsty has tried to use mirror repos as much as possible to speed up the download, the download of a small number of packages may still be blocked by firewalls and may appear very slow. You can set the download proxy to complete the first download by using the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/#proxy_env&#34;&gt;&lt;strong&gt;&lt;code&gt;proxy_env&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; config entry.&lt;/p&gt;</description>
      </item>
    <item>
        <title>CMDB Usage</title>
        <link>https://v15.pgsty.pro/docs/t-cmdb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-cmdb/</guid>
        <description>&lt;p&gt;Instead of a static config file, you can use &lt;code&gt;postgres&lt;/code&gt; as an inventory for Pigsty.&lt;/p&gt;&#xA;&lt;p&gt;Using CMDB as a dynamic Inventory for Ansible has several advantages: metadata is presented as data tables in a highly structured way, and database constraints ensure consistency. The CMDB also allows you to use third-party tools to manage Pigsty metadata.&lt;/p&gt;&#xA;&lt;p&gt;Currently, Pigsty&amp;rsquo;s CMDB only supports PostgreSQL clusters. If your pigsty.yml contains Redis and MatrixDB, it will report an error. It is recommended to use a separate pigsty.yml config file to manage Redis and Greenplum clusters.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Migration Tutorial</title>
        <link>https://v15.pgsty.pro/docs/t-migration/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-migration/</guid>
        <description>&lt;p&gt;An auxiliary playbook, &lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-migration&#34;&gt;&lt;code&gt;pgsql-migration.yml&lt;/code&gt;&lt;/a&gt;, provides a battery-included migration method based on logical replication.&lt;/p&gt;&#xA;&lt;p&gt;By filling in the information about the source and host clusters, the playbook will automatically create the scripts needed for the migration and simply execute them in sequence during the database migration.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-ad5cf2cc-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;12&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-ad5cf2cc-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;activate                        &lt;span class=&#34;c1&#34;&gt;# activate migration context&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;check-replica-identity          &lt;span class=&#34;c1&#34;&gt;# prepare: make sure all table have replica identity&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;check-replica-identity-solution &lt;span class=&#34;c1&#34;&gt;# prepare: fix table without replica identity&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;check-special-objec             &lt;span class=&#34;c1&#34;&gt;# prepare: check special object: matrialized view&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;compare            &lt;span class=&#34;c1&#34;&gt;# compare: fast check on data consistency (by row count)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copy-schema        &lt;span class=&#34;c1&#34;&gt;# migration: copy schema from src to dst cluster&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;create-pub         &lt;span class=&#34;c1&#34;&gt;# migration: create publication on source cluster&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;create-sub         &lt;span class=&#34;c1&#34;&gt;# migration: build logical replication between src &amp;amp; dst clusters&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;progress           &lt;span class=&#34;c1&#34;&gt;# migration: print logical replication progress&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copy-seq           &lt;span class=&#34;c1&#34;&gt;# migration: copy sequence number from src to dst cluster&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;next-seq           &lt;span class=&#34;c1&#34;&gt;# migration: advance dst cluster by 10000 to fix primary confliction&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remove-sub         &lt;span class=&#34;c1&#34;&gt;# remove subscription from dst cluster&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;h2 id=&#34;prepare&#34;&gt;Prepare&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;src-and-dst-clusters&#34;&gt;SRC and DST Clusters&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Suppose you want to migrate the &lt;code&gt;pg-meta&lt;/code&gt; cluster in the sandbox (containing the Pigsty meta DB with the pgbench test tables) to the &lt;code&gt;pg-test&lt;/code&gt; cluster.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGSQL SOP: Standard Operating Procedure</title>
        <link>https://v15.pgsty.pro/docs/r-sop/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/r-sop/</guid>
        <description>&lt;p&gt;Most cluster management operations require using the admin user on the meta node and the execution of the corresponding Ansible Playbook in the Pigsty root dir.&lt;/p&gt;&#xA;&lt;p&gt;Unless otherwise specified, the following examples demonstrate a three-node cluster &lt;code&gt;pg-test&lt;/code&gt; in a sandbox.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cheatsheet&#34;&gt;Cheatsheet&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;cluster-admin&#34;&gt;Cluster Admin&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Manage PostgreSQL clusters and instances by executing the following commands on the meta node using the admin user.&lt;/p&gt;</description>
      </item>
    <item>
        <title>FHS: File Hierarchy Structure</title>
        <link>https://v15.pgsty.pro/docs/r-fhs/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/r-fhs/</guid>
        <description>&lt;h2 id=&#34;pigsty-fhs&#34;&gt;Pigsty FHS&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-65721a8a-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;24&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-65721a8a-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;&lt;span class=&#34;c1&#34;&gt;# pigsty&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;#  ^-----@app                    # extra demo application resources&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;#  ^-----@bin                    # bin scripts&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;#  ^-----@docs                   # document (can be docsified)&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;#  ^-----@files                  # ansible file resources&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;#            ^-----@conf         # config template files&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;#            ^-----@rule         # soft link to prometheus rules&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;#            ^-----@ui           # soft link to grafana dashboards&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;#  ^-----@roles                  # ansible business logic&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;#  ^-----@templates              # ansible templates&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;#  ^-----@vagrant                # sandbox resources&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;#  ^-----configure               # configure wizard script&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;#  ^-----ansible.cfg             # default ansible config file&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;#  ^-----pigsty.yml              # default config file&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;#  ^-----*.yml                   # ansible playbooks&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;&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;# /etc/pigsty/&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;#  ^-----@targets                # file based service discovery targets definition&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;#  ^-----@dashboards             # static grafana dashboards&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;#  ^-----@datasources            # static grafana datasources&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;#  ^-----@playbooks              # extra ansible playbooks&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;&lt;h2 id=&#34;prometheus-fhs&#34;&gt;Prometheus FHS&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-65721a8a-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;20&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-65721a8a-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;&lt;span class=&#34;c1&#34;&gt;# Config FHS&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;# /etc/prometheus/&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;#  ^-----prometheus.yml              # prometheus main config file&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;#  ^-----alertmanager.yml            # alertmanger main config file&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;#  ^-----@bin                        # util scripts: check,reload,status,new&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;#  ^-----@rules                      # record &amp;amp; alerting rules definition&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;#            ^-----@infra            # infrastructure rules &amp;amp; alert&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;#            ^-----@nodes            # nodes rules &amp;amp; alert&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;#            ^-----@pgsql            # pgsql rules &amp;amp; alert&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;#            ^-----@redis            # redis rules &amp;amp; alert&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;#            ^-----@..........       # etc...&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;#  ^-----@targets                    # file based service discovery targets definition&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;#            ^-----@infra            # infra static targets definition&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;#            ^-----@nodes            # nodes static targets definition&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;#            ^-----@pgsql            # pgsql static targets definition&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;#            ^-----@redis            # redis static targets definition&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;#            ^-----@.....            # other targets&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;&lt;h2 id=&#34;postgres-fhs&#34;&gt;Postgres FHS&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The following parameters are related to the PostgreSQL database dir:&lt;/p&gt;</description>
      </item>
    <item>
        <title>HA Scenarios</title>
        <link>https://v15.pgsty.pro/docs/r-ha/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/r-ha/</guid>
        <description>&lt;p&gt;You can strengthen your confidence in the cluster&amp;rsquo;s HA capability through a HA scenario experiment.&lt;/p&gt;&#xA;&lt;p&gt;Below is a list of 24 typical HA failure scenarios, divided into three categories: Primary failure, Replica failure, and DCS failure, with eight specific scenarios in each category.&lt;/p&gt;&#xA;&lt;p&gt;All experiments assume that &lt;strong&gt;HA auto-switchover mode&lt;/strong&gt; is enabled, where Patroni should correctly handle Primary and Replica failures.&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; style=&#34;text-align: center&#34;&gt;Number&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Case Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Auto Mode&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Manual switch&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://v15.pgsty.pro/docs/r-ha/#primary-failure&#34;&gt;A&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Primary Node Failures&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: center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Primary Node node down&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Failover&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Manual switch&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Primary Node Postgres process shutdown (&lt;code&gt;pg_ctl or kill -9&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Failover&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Manual reboot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;The Primary Node Patroni process is shut down usually (&lt;code&gt;systemctl stop patroni&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Failover&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Manual reboot&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;4A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Abnormal shutdown of the Primary Node Patroni process (&lt;code&gt;kill -9&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Needs confirmation&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;5A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Primary Node load hit full, false death (watchdog)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Needs confirmation&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;6A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Primary DCS Agent is not available (&lt;code&gt;systemctl stop consul&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Cluster Primary demotion&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;7A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Primary Node network jitter&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Automatic Failover on timeout&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Need to observe&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;8A&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Erroneous deletion of Primary data dir&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Automatic Failover&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Manual switch&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://v15.pgsty.pro/docs/r-ha/#replica-node-failure-experiment&#34;&gt;B&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Replica bank failure (1/n , n&amp;gt;1)&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: center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node down&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node Postgres process shutdown (&lt;code&gt;pg_ctl or kill -9&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node process Postgres  Manual Shutdown (&lt;code&gt;pg_ctl&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;4B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node Patroni process exception Kill (&lt;code&gt;kill -9&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;5B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica DCS Agent is not available (&lt;code&gt;systemctl stop consul&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;6B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node Load hit full, false death&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Depends&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Depends&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;7B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Replica Node network jitter&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;8B&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Boosting a Replica node by mistake (&lt;code&gt;pg_ctl promte&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Automatic recovery&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Split Brain&lt;/strong&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://v15.pgsty.pro/docs/r-ha/#dcs-failure-experiment&#34;&gt;C&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;DCS failure&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: center&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;1C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS Server is completely unavailable (most nodes are unavailable)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Downgrade all cluster Primary nodes&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS pass Primary, not Replica (1 Primary &amp;amp; 1 Replica)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;3C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS pass Primary, not Replica (1 Primary n Replica, n&amp;gt;1)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;4C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS pass Replica, not Primary (1 Primary, 1 Replica)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;5C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS pass Replica, not Primary (1 Primary n Replica, n&amp;gt;1)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Automatic Failover&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;6C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS network jitter: simultaneous outages, &lt;br /&gt;Primary and Replica nodes recover simultaneously, or the Primary node recovers first&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;7C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS network jitter: simultaneous outages, &lt;br /&gt;Replica nodes recover first, Primary nodes recover later (1 Primary, 1 Replica)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;8C&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;DCS network jitter: simultaneous interruptions,&lt;br /&gt;Replica nodes recover first, Primary nodes recover later (1 Primary n Replica, n&amp;gt;1)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Automatic Failover over TTL&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No effect&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;environment&#34;&gt;Environment&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The following is a walkthrough of a local Pigsty four-node sandbox.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Common Failures</title>
        <link>https://v15.pgsty.pro/docs/r-failure/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/r-failure/</guid>
        <description>&lt;h2 id=&#34;hardware-faults&#34;&gt;Hardware Faults&#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: center&#34;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Symptom&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Process&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;H01&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Primary node down&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;pg_up = 0 for 1-3 minutes&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No immediate intervention required. &lt;br /&gt;Additional examples after the fact&lt;br /&gt;Removal from Access Domain&lt;br /&gt;Execute &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-8-pgsql-role-adjustment&#34;&gt;Case 8: Cluster Role Adjustment&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H02&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Replica node down&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;pg_up = 0 for 1-3 minutes&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No immediate intervention required&lt;br /&gt;Adding examples after the fact.&lt;br /&gt;Removal from Access Domain&lt;br /&gt;Execute  &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-8-pgsql-role-adjustment&#34;&gt;Case 8: Cluster Role Adjustment&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H03&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Primary node network partition&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Loss of all monitoring data of the primary instance, network unreachable&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Confirm Failover status&lt;br /&gt;Force Fencing old primary if necessary&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H04&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Replica Node Network Partitioning&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Loss of all monitoring data from the instance, network unreachable&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Usually no effect, waiting for recovery&lt;br /&gt;Contact O&amp;amp;M and network engineers to handle&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H05&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;TCP the retransmission rate is too high&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;TCP Retrans stay high for a long time, a lot of Conn Reset, a lot of query requests fail&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Find O&amp;amp;M and network engineers to handle&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H06&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Node memory error&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;EDAC counter growth, system error log&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;After confirming that there are no errors in the replica memory&lt;br /&gt;Execute &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-10-cluster-switchover&#34;&gt;Case 10: cluster primary-replica switch&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;H07&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Bad blocks on disk, data corruption&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Query results, and logs show error messages such as can&amp;rsquo;t read block&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Execute &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-10-cluster-switchover&#34;&gt;Case 10: cluster primary-replica switch&lt;/a&gt;&lt;br /&gt;Manual data recovery using data recovery tools&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;R01&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;High CPU usage&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;CPU / load / pressure index high&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;topCheck for large CPU footprint programs and clean them up&lt;br /&gt;As in the case of an avalanche, execute a kill query stop.&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;R02&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;OOM appears&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Process Failure appears, OOM message, high memory usage, start using SWAP&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Confirm memory, confirm SWAP&lt;br /&gt;topCheck for large memory hogs and clean them up&lt;br /&gt;Re-pulling the killed process&lt;br /&gt;Emergency SWAP partition addition&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;R03&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Disk Full&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Disk Write Full&lt;br /&gt;Database Crash&lt;br /&gt;A large number of shell commands cannot be executed&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Remove &lt;code&gt;/pg/dummy&lt;/code&gt; to free up emergency space&lt;br /&gt;Check and handle WAL buildup&lt;br /&gt;Check aa and process a  large number of Log files&lt;br /&gt;Confirm whether the business has cleanable data&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;R06&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Disk/network card IO too high&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Disk/NIC BandWidth too large&lt;br /&gt;Disk &amp;gt; 2GB/s&lt;br /&gt;Network &amp;gt; 1 GB/s&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Check applications that use the network/disk, such as backups, to add speed limits.&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;software-errors&#34;&gt;Software Errors&#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: center&#34;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Symptom&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Process&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;SP1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Database process abort&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;ps aux&lt;/code&gt; can&amp;rsquo;t find the postgres process&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Check Postgres, Patroni status&lt;br /&gt;Confirm Failover results, or perform Failover manually&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;SP2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Connection pool process aborted&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;systemctl status pgbouncer&lt;/code&gt; Failure&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-3-cluster-config-change-and-restart&#34;&gt;restart service component&lt;/a&gt; or &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-11-reset-component&#34;&gt;reset service component&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;SP3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Primary Patroni process aborted&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;systemctl status patroni&lt;/code&gt; Failure&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;As above, enter maintenance mode, reboot or reset Patroni&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;SP4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Primary Consul process aborted&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;systemctl status consul&lt;/code&gt; Failure&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;As above, enter maintenance mode, reboot or reset Consul&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S05&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;HAProxy process aborts&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;systemctl status haproxy&lt;/code&gt; Failure&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;As above, restart or reset Haproxy&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S06&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Connection pool contamination&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;An error message similar to Cannot execute XXX on read-only transactions appears&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Restart the Pgbouncer connection pool&lt;br /&gt;or configure &lt;code&gt;server_reset_query&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S07&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Connection pool cannot connect to the database&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;pgbouncer can not connect to server&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Check whether the user, password, and HBA configuration are correct&lt;br /&gt;Execute &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-4-create-pgsql-biz-user&#34;&gt;Case-4: Cluster Service User Creation&lt;/a&gt; to refresh the user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S08&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Connection pool reaches QPS bottleneck&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;PGbouncer QPS reaches 3 to 4W, CPU usage reaches 100%&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Use multiple Pgbouncers (not recommended)&lt;br /&gt;Use Default service to bypass Pgbouncer&lt;br /&gt;Notify business side of speed limit&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S09&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;DCS Server is not available&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;In auto-switchover mode, all primary will go to the unwritable state after TTL&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Set all clusters to &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#maintenance-mode&#34;&gt;maintenance mode&lt;/a&gt; immediately&lt;/strong&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;S10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;DCS Agavailableavailable&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;If it is a replica, it has no effect, if it is a primary, it will be demoted to a replica and the cluster is not writable&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Set all clusters to &lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#maintenance-mode&#34;&gt;maintenance mode&lt;/a&gt; immediately&lt;/strong&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S11&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;XID Wraparound&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Enter protection mode when age remaining 1000w.&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;This problem should be avoided in advance through monitoring &lt;br /&gt; locate the over-aged databases and tables, perform emergency cleaning&lt;br /&gt; quickly locate the cause of blocking the vacuum and solve&lt;br /&gt; restore in single user mode&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;S12&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;WAL Stacking&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;WAL size continues to grow&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Execute &lt;code&gt;CHECKPOINT&lt;/code&gt;multiple times &lt;br /&gt;confirm the wal archive status &lt;br /&gt; confirm whether there are unfinished ultra-longg transactions from the replica &lt;br /&gt; confirm whether there are replication slots to prevent wal recycling&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;human-errors&#34;&gt;Human Errors&#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: center&#34;&gt;ID&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Symptom&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;Process&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;M01&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Mistakenly deleted database clusters&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;The database cluster is gone&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Use cold standby to recover the cluster&lt;br /&gt;Prepare to run&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M02&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Mistakenly elevating an instance to the primary&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;split-brain&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;No need to handle it in automatic mode, otherwise, split-brain&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M03&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Erased data by mistake&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;The data is gone&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Stop vacuum, use &lt;code&gt;PG_ Dirtyread&lt;/code&gt; extract&lt;br /&gt;extract from delayed cluster &lt;br /&gt;extract and restore from cold standby&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M04&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Erasure Form&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;The table is gone&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Fetch from delayed cluster&lt;br /&gt;Fetch and restore from cold standby&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M05&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Integer Sequence Number Overflow&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Sequence exceeds INTMAX&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Refer to integer primary key online upgrade manual to handle&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M06&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Insert data conflicts due to duplicate primary key serial numbers&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;violate constratint &amp;hellip;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Grow serial number value (e.g. +100000)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M07&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Slow query queuing / avalanche&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Large number of slow query logs&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Use pg_terminate_backend to periodically clean up slow queries (e.g. every 1 second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M08&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Deadlock queuing / avalanche&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Lock stacking&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Use pg_terminate_backend to periodically clean up queries (e.g. every 1 second)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M09&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;HBA denied access&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;no HBA entry for xxx&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-6-apply-pgsql-hba&#34;&gt;Case 6: APPLY-PGSQL-HBA&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M10&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;User password error&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;password auth failure for xxx&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/r-sop/#case-4-create-pgsql-biz-user&#34;&gt;Case 4: Create OGSQL Biz User&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;M11&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Insufficient access privileges&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;permission denied for x&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;Check if the user created the object with the correct admin&lt;br /&gt;Refer to &lt;a href=&#34;https://github.com/pgsty/pigsty/blob/v1.5.1/pigsty.yml#L793&#34;&gt;Default Privilege&lt;/a&gt; to manually fix the object privileges&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>Community</title>
        <link>https://v15.pgsty.pro/docs/community/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/community/</guid>
        <description>&lt;p&gt;There&amp;rsquo;s an active Pigsty community. Search WeChat &lt;code&gt;pigsty-cc&lt;/code&gt; and join the user group.&lt;/p&gt;&#xA;&lt;p&gt;Most answers cloud be found in &lt;a href=&#34;https://v15.pgsty.pro/docs/s-faq/&#34;&gt;FAQ&lt;/a&gt;. If there&amp;rsquo;s no answer to your questions, you can ask in the community.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s most welcome to create &lt;a href=&#34;https://github.com/Vonng/pigsty/issues/new/choose&#34;&gt;Issues&lt;/a&gt; or &lt;a href=&#34;https://github.com/Vonng/pigsty/pulls&#34;&gt;Pull Requests&lt;/a&gt; if you find some repeatable bugs.&lt;/p&gt;&#xA;&lt;p&gt;Following information cloud helps a lot when asking for help:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What commands are you typing?&lt;/li&gt;&#xA;&lt;li&gt;What result do you expect?&lt;/li&gt;&#xA;&lt;li&gt;What environment is used?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it a CentOS 7.8 fresh node?&lt;/li&gt;&#xA;&lt;li&gt;Is it a physical/virtual machine, or a public cloud ECS?&lt;/li&gt;&#xA;&lt;li&gt;Is anything else running on that node?&lt;/li&gt;&#xA;&lt;li&gt;Is offline package&lt;code&gt;pkg.tgz&lt;/code&gt; been used?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If yes, in &lt;code&gt;/tmp/pkg.tgz&lt;/code&gt;, right?&lt;/li&gt;&#xA;&lt;li&gt;If not, do you have proper Internet access?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Is there any special restriction ? (such as firewall, ssh ban, etc&amp;hellip;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mail&#34;&gt;Mail&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Author: Vonng (&lt;a href=&#34;mailto:rh@vonng.com&#34;&gt;rh@vonng.com&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;github-issues&#34;&gt;Github Issues&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/issues&#34;&gt;https://github.com/Vonng/pigsty/issues&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;telegram&#34;&gt;Telegram&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://t.me/joinchat/gV9zfZraNPM3YjFh&#34;&gt;https://t.me/joinchat/gV9zfZraNPM3YjFh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;discord&#34;&gt;Discord&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://discord.gg/wDzt5VyWEz&#34;&gt;https://discord.gg/wDzt5VyWEz&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Roadmap</title>
        <link>https://v15.pgsty.pro/docs/roadmap/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/roadmap/</guid>
        <description>&lt;h2 id=&#34;history&#34;&gt;History&#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: center&#34;&gt;Time&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Release&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;2019-05-15&lt;/td&gt;&#xA;      &lt;td&gt;POC&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pg/commit/fa2ade31f8e81093eeba9d966c20120054f0646b&#34;&gt;fa2ade31&lt;/a&gt; (v0.0.1)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-04-30&lt;/td&gt;&#xA;      &lt;td&gt;First Commit&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/dd646775624ddb33aef7884f4f030682bdc371f8&#34;&gt;dd64677&lt;/a&gt; (v0.0.2)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-06-20&lt;/td&gt;&#xA;      &lt;td&gt;Validation on Testing Environment&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/1cf2ea5ee91db071de00ec805032928ff582453b&#34;&gt;v0.1.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-06-22&lt;/td&gt;&#xA;      &lt;td&gt;Interface enhancement&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/4c5c68ccd57bc32a9e9c98aa3f264aa19f45c7ee&#34;&gt;v0.0.3&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-07-10&lt;/td&gt;&#xA;      &lt;td&gt;PGSQL Monitoring v6 GA&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/385e33a62a19817e8ba19997260e6b77d99fe2ba&#34;&gt;v0.2.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-07-27&lt;/td&gt;&#xA;      &lt;td&gt;Refactor playbooks into ansible roles&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/90b44259818d2c71e37df5250fe8ed1078a883d0&#34;&gt;v0.0.4&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-08-19&lt;/td&gt;&#xA;      &lt;td&gt;Offline Installation Mode&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/commit/0fe9e829b298fe5e56307de3f78c95071de28245&#34;&gt;v0.0.5&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-10-22&lt;/td&gt;&#xA;      &lt;td&gt;Provisioning Solution GA&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.3.0&#34;&gt;v0.3.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2020-12-14&lt;/td&gt;&#xA;      &lt;td&gt;PostgreSQL 13 Support, Official Documentation&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.4.0&#34;&gt;v0.4.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-01-07&lt;/td&gt;&#xA;      &lt;td&gt;Databaes Customize Template&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.5.0&#34;&gt;v0.5.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-02-19&lt;/td&gt;&#xA;      &lt;td&gt;Architecture Enhancement&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.6.0&#34;&gt;v0.6.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-03-01&lt;/td&gt;&#xA;      &lt;td&gt;Monitor only deployment&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.7.0&#34;&gt;v0.7.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-03-28&lt;/td&gt;&#xA;      &lt;td&gt;Service Provision&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.8.0&#34;&gt;v0.8.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-04-04&lt;/td&gt;&#xA;      &lt;td&gt;Pigsty GUI, CLI, Logging Intergration&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.9.0&#34;&gt;v0.9.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-04-20&lt;/td&gt;&#xA;      &lt;td&gt;Accessibility and extensibility enhancement&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v0.9.1&#34;&gt;v0.9.1&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-07-26&lt;/td&gt;&#xA;      &lt;td&gt;v1 GA, Monitoring System Overhaul&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.0.0&#34;&gt;v1.0.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-10-12&lt;/td&gt;&#xA;      &lt;td&gt;HomePage, JupyterLab, Pgweb, Pev2 &amp;amp; Pgbadger&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.1.0&#34;&gt;v1.1.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-11-03&lt;/td&gt;&#xA;      &lt;td&gt;Upgrade default Postgres to 14, monitoring existing pg&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.2.0&#34;&gt;v1.2.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2021-11-30&lt;/td&gt;&#xA;      &lt;td&gt;PGCAT Overhaul &amp;amp; PGSQL Enhancement &amp;amp; Redis Support Beta&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.3.0&#34;&gt;v1.3.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2022-03-31&lt;/td&gt;&#xA;      &lt;td&gt;MatrixDB Support, Separated INFRA, NODES, PGSQL, REDIS&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.4.0&#34;&gt;v1.4.0&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2022-04-20&lt;/td&gt;&#xA;      &lt;td&gt;Bug fix &amp;amp; Full translation of English documents.&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.4.1&#34;&gt;v1.4.1&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;2022-05-31&lt;/td&gt;&#xA;      &lt;td&gt;Docker Applications&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/Vonng/pigsty/releases/tag/v1.5.0&#34;&gt;v1.5.0&lt;/a&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;timeline&#34;&gt;Timeline&#xA;&lt;/h2&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://v15.pgsty.pro/img/history/v1.5/TIMELINE.svg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;</description>
      </item>
    <item>
        <title>Development Log</title>
        <link>https://v15.pgsty.pro/docs/devlog/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/devlog/</guid>
        <description>&lt;h4 id=&#34;2022-06-18&#34;&gt;2022-06-18&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1.5.1 for PostgreSQL 14.4&lt;/li&gt;&#xA;&lt;li&gt;Upgrade haproxy to 2.6.0&lt;/li&gt;&#xA;&lt;li&gt;repotrack i686 issus on el7&lt;/li&gt;&#xA;&lt;li&gt;New apps: wiki.js ferretDB&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-21&#34;&gt;2022-05-21&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Grafana Logo Customize&lt;/li&gt;&#xA;&lt;li&gt;Nginx Log Rework&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-20&#34;&gt;2022-05-20&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Prometheus Overview polish&lt;/li&gt;&#xA;&lt;li&gt;Grafana Overview polish&lt;/li&gt;&#xA;&lt;li&gt;DCS Overview polish&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-15&#34;&gt;2022-05-15&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;new role: etcd&lt;/li&gt;&#xA;&lt;li&gt;monitoring for etcd&lt;/li&gt;&#xA;&lt;li&gt;Make etcd a viable option for ha PG DCS&lt;/li&gt;&#xA;&lt;li&gt;Infra Dashboards rework&lt;/li&gt;&#xA;&lt;li&gt;fix nodes/infra/pgsql config docs&lt;/li&gt;&#xA;&lt;li&gt;Update docker containers, pgadmin4 to 6.9&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-14&#34;&gt;2022-05-14&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;fix redis join issue&lt;/li&gt;&#xA;&lt;li&gt;optimize consul role implementation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-13&#34;&gt;2022-05-13&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pg_exporter metrics &amp;amp; dashboard calibration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-12&#34;&gt;2022-05-12&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;upgrade bytebase to v1.0.5&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-09&#34;&gt;2022-05-09&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;v1.5.0-alpha.1 released&lt;/li&gt;&#xA;&lt;li&gt;repo upstream calibration&lt;/li&gt;&#xA;&lt;li&gt;build docker.tgz image cache and add to download script&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-07&#34;&gt;2022-05-07&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;grant backup related permissions to &lt;code&gt;pg_replication_username&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;add pg_probackup to default packages&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-06&#34;&gt;2022-05-06&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker application calibration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-05&#34;&gt;2022-05-05&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New CMDB Design&lt;/li&gt;&#xA;&lt;li&gt;Now cmdb works for redis &amp;amp; gpsql&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-04&#34;&gt;2022-05-04&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dashboard Overhaul: Infra-Overview&lt;/li&gt;&#xA;&lt;li&gt;Add node_crontab_overwrite implementation&lt;/li&gt;&#xA;&lt;li&gt;Test citus/dcs3/mxdb conf&lt;/li&gt;&#xA;&lt;li&gt;node_local_repo_url -&amp;gt; node_repo_local_urls&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-02&#34;&gt;2022-05-02&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add crontab implementation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-05-01&#34;&gt;2022-05-01&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Refactor redis.yml &amp;amp; redis-remove.yml&lt;/li&gt;&#xA;&lt;li&gt;Remove role redis, redis-remove, redis-exporter&lt;/li&gt;&#xA;&lt;li&gt;Fix dashboard redis aliveness issue&lt;/li&gt;&#xA;&lt;li&gt;Upgrade to redis v6.2.7&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-04-30&#34;&gt;2022-04-30&#xA;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Register Infra as common consul service&lt;/li&gt;&#xA;&lt;li&gt;Make consul service discovery great again&lt;/li&gt;&#xA;&lt;li&gt;implement &lt;code&gt;node_data_dir&lt;/code&gt; which create /data during node init if not exists&lt;/li&gt;&#xA;&lt;li&gt;add pg_probackup to default package list&lt;/li&gt;&#xA;&lt;li&gt;integration test on pigsty-citus&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2022-04-29&#34;&gt;2022-04-29&#xA;&lt;/h4&gt;&#xA;&lt;p&gt;New Vars:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Why Pigsty</title>
        <link>https://v15.pgsty.pro/docs/s-value/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-value/</guid>
        <description>&lt;h2 id=&#34;why-use-pigsty&#34;&gt;Why use Pigsty?&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Our philosophy is: use the &lt;strong&gt;good database&lt;/strong&gt;, &lt;strong&gt;use the good&lt;/strong&gt; database so that there is no hard-to-use database in the world!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The database is the core component of an information system, a relational database is the absolute mainstay of the database, and PostgreSQL is the world&amp;rsquo;s most advanced open-source relational database.&lt;/p&gt;&#xA;&lt;p&gt;PG provides a perfect enough database kernel, but it is not so simple to really use it well, and we help users to do that.&lt;/p&gt;</description>
      </item>
    <item>
        <title>User Interface</title>
        <link>https://v15.pgsty.pro/docs/s-interface/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/s-interface/</guid>
        <description>&lt;h2 id=&#34;user-interface&#34;&gt;User Interface&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;After completing the installation, the GUI provided by Pigsty can be accessed through a browser.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://g.pigsty&#34;&gt;http://g.pigsty&lt;/a&gt; -&amp;gt; http://10.10.10.10:80 (nginx) -&amp;gt; http://10.10.10.10:3000 (grafana)&lt;/p&gt;&#xA;&lt;p&gt;Visit &lt;code&gt;http://&amp;lt;node_ip&amp;gt;:3000&lt;/code&gt; to browse Pigsty &lt;a href=&#34;http://demo.pigsty.cc/d/home&#34;&gt;home&lt;/a&gt; (username: &lt;code&gt;admin&lt;/code&gt;, password: &lt;code&gt;pigsty&lt;/code&gt;)&lt;/p&gt;&#xA;&lt;p&gt;You can visit &lt;a href=&#34;http://demo.pigsty.cc&#34;&gt;http://demo.pigsty.cc&lt;/a&gt; to view the public Pigsty Demo and browse through the features provided by the &lt;strong&gt;Pigsty Monitoring System&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;web-services&#34;&gt;Web Services&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty will provide services to the public through a series of ports, and web services will be accessed uniformly through Nginx port 80.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Deploy</title>
        <link>https://v15.pgsty.pro/docs/t-deploy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-deploy/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;There are 3 steps to deploy pigsty: &lt;a href=&#34;https://v15.pgsty.pro/docs/t-deploy/#prepare&#34;&gt;prepare&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/t-deploy/#configure&#34;&gt;configure&lt;/a&gt;, &lt;a href=&#34;https://v15.pgsty.pro/docs/t-deploy/#playbook&#34;&gt;playbook&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;prepare&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/&#34;&gt;Prepare&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#node-provisioning&#34;&gt;Node Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#meta-node-provisioning&#34;&gt;Meta Node Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#admin-provisioning&#34;&gt;Admin User Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/d-prepare/#software-provisioning&#34;&gt;Software Provisioning&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;configure&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/&#34;&gt;Configure&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#config-entry&#34;&gt;Config Entry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#config-file&#34;&gt;Config File&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/&#34;&gt;Infrastructure Config&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/&#34;&gt;Database Cluster Config&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-config/#config-category&#34;&gt;Identity Parameters&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-infra/#connect&#34;&gt;Connection Information&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/&#34;&gt;Custom Business User&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/c-pgdbuser/#database-privileges&#34;&gt;Customize business Database&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql-customize/&#34;&gt;Customize PGSQL Template&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;playbook&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-playbook/&#34;&gt;Playbook&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-infra/&#34;&gt;INFRA Init&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql&#34;&gt;PGSQL initialization&lt;/a&gt; (cluster creation, new instances)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-remove&#34;&gt;PGSQL Remove&lt;/a&gt; (Remove instance, remove cluster)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createuser&#34;&gt;Create Biz user&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/p-pgsql/#pgsql-createdb&#34;&gt;Create Biz database&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Customization of Postgres Template</title>
        <link>https://v15.pgsty.pro/docs/t-pgsql-customize/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-pgsql-customize/</guid>
        <description>&lt;h2 id=&#34;parameters&#34;&gt;Parameters&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The template database &lt;code&gt;template1&lt;/code&gt; in a cluster can be customized using the &lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/#pg_provision&#34;&gt;PG template&lt;/a&gt; configuration item.&lt;/p&gt;&#xA;&lt;p&gt;This ensures that any database &lt;strong&gt;newly created&lt;/strong&gt; in this database cluster comes with the same default configuration: schema, extensions, and default permissions.&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; style=&#34;text-align: center&#34;&gt;name&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;type&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: center&#34;&gt;hierarchy&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 style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-pgsql/#pg_init&#34;&gt;pg_init&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;G/C&lt;/td&gt;&#xA;      &lt;td&gt;Custom PG initialization scripts&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://v15.pgsty.pro/docs/v-pgsql/#pg_replication_username&#34;&gt;pg_replication_username&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG replication user&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://v15.pgsty.pro/docs/v-pgsql/#pg_replication_password&#34;&gt;pg_replication_password&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG replication user&amp;rsquo;s password&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://v15.pgsty.pro/docs/v-pgsql/#pg_monitor_username&#34;&gt;pg_monitor_username&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG monitor user&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://v15.pgsty.pro/docs/v-pgsql/#pg_monitor_password&#34;&gt;pg_monitor_password&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG monitor user password&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://v15.pgsty.pro/docs/v-pgsql/#pg_admin_username&#34;&gt;pg_admin_username&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG Admin User&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://v15.pgsty.pro/docs/v-pgsql/#pg_admin_password&#34;&gt;pg_admin_password&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;G&lt;/td&gt;&#xA;      &lt;td&gt;PG admin user password&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://v15.pgsty.pro/docs/v-pgsql/#pg_default_roles&#34;&gt;pg_default_roles&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;role[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;Default created roles and users&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://v15.pgsty.pro/docs/v-pgsql/#pg_default_privileges&#34;&gt;pg_default_privileges&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;G&lt;/td&gt;&#xA;      &lt;td&gt;Database default permissions configuration&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://v15.pgsty.pro/docs/v-pgsql/#pg_default_schemas&#34;&gt;pg_default_schemas&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;G&lt;/td&gt;&#xA;      &lt;td&gt;The schema created by default&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://v15.pgsty.pro/docs/v-pgsql/#pg_default_extensions&#34;&gt;pg_default_extensions&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;extension[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;Default installed extensions&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://v15.pgsty.pro/docs/v-pgsql/#pg_offline_query&#34;&gt;pg_offline_query&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;strong&gt;I&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether to allow &lt;strong&gt;offline&lt;/strong&gt; queries&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://v15.pgsty.pro/docs/v-pgsql/#pg_reload&#34;&gt;pg_reload&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;strong&gt;A&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Whether to reload database configuration (HBA)&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://v15.pgsty.pro/docs/v-pgsql/#pg_hba_rules&#34;&gt;pg_hba_rules&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;rule[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G&lt;/td&gt;&#xA;      &lt;td&gt;Global HBA rules&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://v15.pgsty.pro/docs/v-pgsql/#pg_hba_rules_extra&#34;&gt;pg_hba_rules_extra&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;rule[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;C/I&lt;/td&gt;&#xA;      &lt;td&gt;Cluster/instance specific HBA rules&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://v15.pgsty.pro/docs/v-pgsql/#pgbouncer_hba_rules&#34;&gt;pgbouncer_hba_rules&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;rule[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G/C&lt;/td&gt;&#xA;      &lt;td&gt;Pgbouncer global HBA rules&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://v15.pgsty.pro/docs/v-pgsql/#pgbouncer_hba_rules_extra&#34;&gt;pgbouncer_hba_rules_extra&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;rule[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G/C&lt;/td&gt;&#xA;      &lt;td&gt;Pgbounce specific HBA rules&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://v15.pgsty.pro/docs/v-pgsql/#pg_databases&#34;&gt;pg_databases&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;database[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G/C&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;business database definitions&lt;/strong&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://v15.pgsty.pro/docs/v-pgsql/#pg_users&#34;&gt;pg_users&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;user[]&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: center&#34;&gt;G/C&lt;/td&gt;&#xA;      &lt;td&gt;&lt;strong&gt;business user definitions&lt;/strong&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;related-files&#34;&gt;Related files&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When customizing the database template, the relevant parameters are first rendered as SQL scripts and then executed on the deployed database cluster.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Redis Deploy &amp; Monitor</title>
        <link>https://v15.pgsty.pro/docs/t-redis/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-redis/</guid>
        <description>&lt;p&gt;Pigsty is also a universal application runtime that could be used for deploying &amp;amp; monitoring other databases and applications, such as Redis.&lt;/p&gt;&#xA;&lt;p&gt;It takes two steps to deploy a Redis cluster:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Declare it&lt;/li&gt;&#xA;&lt;li&gt;Execute playbook&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;define-redis&#34;&gt;Define Redis&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://v15.pgsty.pro/docs/v-redis/&#34;&gt;Redis Config Entries&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;e-r-model&#34;&gt;E-R Model&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The Redis entity conceptual model is almost identical to [PostgreSQL]c-pgsql.md#ER-Model), and also includes the concepts of &lt;strong&gt;Cluster&lt;/strong&gt; and &lt;strong&gt;Instance&lt;/strong&gt;. Note that the concept of Cluster here does not refer to the clusters in Redis&amp;rsquo; native clustering scheme.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGWeb</title>
        <link>https://v15.pgsty.pro/docs/t-pgweb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-pgweb/</guid>
        <description>&lt;p&gt;Pigsty v1.5.1 does not ship the former &lt;code&gt;infra-pgweb.yml&lt;/code&gt; playbook or the &lt;code&gt;pgweb_enabled&lt;/code&gt; / &lt;code&gt;pgweb_username&lt;/code&gt; inventory parameters. PGWeb is provided as a Docker application at &lt;a href=&#34;https://github.com/pgsty/pigsty/tree/v1.5.1/app/pgweb&#34;&gt;&lt;code&gt;app/pgweb&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;run-pgweb&#34;&gt;Run PGWeb&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Docker is enabled on the meta node in the bundled v1.5.1 inventory. Start the tagged PGWeb application with:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-1625abf6-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-1625abf6-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;nb&#34;&gt;cd&lt;/span&gt; ~/pigsty/app/pgweb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose up -d&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;The tagged Compose file maps host port &lt;code&gt;8886&lt;/code&gt; to container port &lt;code&gt;8081&lt;/code&gt;. Supply a database connection string in the PGWeb interface, for example &lt;code&gt;postgres://dbuser_dba:DBUser.DBA@127.0.0.1:5432/meta&lt;/code&gt; after replacing the credentials as appropriate.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Using TimescaleDB to store Prometheus data</title>
        <link>https://v15.pgsty.pro/docs/t-promscale/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v15.pgsty.pro/docs/t-promscale/</guid>
        <description>&lt;p&gt;You can use postgres as the remote storage database used by the Prometheus backend.&lt;/p&gt;&#xA;&lt;p&gt;While this is not the recommended behavior, it is a good opportunity to understand how the Pigsty deployment system is used.&lt;/p&gt;&#xA;&lt;h2 id=&#34;preparing-the-postgres-database&#34;&gt;Preparing the Postgres database&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-31b7a7f2-fence-0&#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-31b7a7f2-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;# Uncomment DB/User definition: dbuser_prometheus prometheus&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;pg_databases:                           &lt;span class=&#34;c1&#34;&gt;# define business users/roles on this cluster, array of user definition&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;o&#34;&gt;{&lt;/span&gt; name: prometheus, owner: dbuser_prometheus , revokeconn: true, comment: prometheus primary database &lt;span class=&#34;o&#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;pg_users:                           &lt;span class=&#34;c1&#34;&gt;# define business users/roles on this cluster, array of user definition&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;o&#34;&gt;{&lt;/span&gt;name: dbuser_prometheus , password: DBUser.Prometheus ,pgbouncer: &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt; , createrole: true,  roles: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;dbrole_admin&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;, comment: admin user &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; prometheus database &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;p&gt;Create a Prometheus business database with business users.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
