<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Setup on PIGSTY</title>
    <link>https://v27.pgsty.pro/categories/setup/</link>
    <description>Recent content in Setup on PIGSTY</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate>
    
    
      <atom:link href="https://v27.pgsty.pro/categories/setup/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Installation</title>
        <link>https://v27.pgsty.pro/docs/setup/install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/install/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Install Pigsty with 4 steps: &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#prepare&#34;&gt;Prepare&lt;/a&gt;, &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#download&#34;&gt;Download&lt;/a&gt;, &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#configure&#34;&gt;Configure&lt;/a&gt; and &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#install&#34;&gt;Install&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Also check &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/offline/&#34;&gt;offline installation&lt;/a&gt; if you don&amp;rsquo;t have the Internet access.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;short-version&#34;&gt;Short Version&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#prepare&#34;&gt;Prepare&lt;/a&gt; a fresh Linux x86_64 node that runs &lt;a href=&#34;https://v27.pgsty.pro/docs/reference/compatibility/&#34;&gt;compatible&lt;/a&gt; OS, then run as a &lt;strong&gt;sudo-able&lt;/strong&gt; user:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-59168d38-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-59168d38-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L https://get.pigsty.cc/install &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s v2.7.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;It will &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#download&#34;&gt;download&lt;/a&gt; Pigsty source to your home, then perform &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#configure&#34;&gt;configure&lt;/a&gt; and &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#install&#34;&gt;install&lt;/a&gt; to finish the installation.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-59168d38-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-59168d38-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;nb&#34;&gt;cd&lt;/span&gt; ~/pigsty   &lt;span class=&#34;c1&#34;&gt;# get pigsty source and entering dir&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./bootstrap   &lt;span class=&#34;c1&#34;&gt;# download bootstrap pkgs &amp;amp; ansible [optional]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure   &lt;span class=&#34;c1&#34;&gt;# pre-check and config templating   [optional]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.yml &lt;span class=&#34;c1&#34;&gt;# install pigsty according to pigsty.yml&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;A pigsty singleton node will be ready with Web &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#interface&#34;&gt;Interface&lt;/a&gt; on port &lt;code&gt;80/443&lt;/code&gt; and Postgres &lt;a href=&#34;https://v27.pgsty.pro/docs/concept/svc/&#34;&gt;service&lt;/a&gt; on port &lt;code&gt;5432&lt;/code&gt;.&#xA;You can add &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#more&#34;&gt;more&lt;/a&gt; nodes into Pigsty and deploy &lt;a href=&#34;https://v27.pgsty.pro/docs/about/module/&#34;&gt;modules&lt;/a&gt; on them.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Offline Install</title>
        <link>https://v27.pgsty.pro/docs/setup/offline/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/offline/</guid>
        <description>&lt;p&gt;Pigsty&amp;rsquo;s &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/&#34;&gt;&lt;strong&gt;Standard Installation&lt;/strong&gt;&lt;/a&gt; process requires Internet access, but production database servers are often isolated from the Internet.&lt;/p&gt;&#xA;&lt;p&gt;Therefore, Pigsty offers an offline installation feature, allowing you to complete the installation and deployment in an environment without internet access.&lt;/p&gt;&#xA;&lt;p&gt;If you have internet access, downloading the pre-made &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/offline/#offline-package&#34;&gt;&lt;strong&gt;Offline Package&lt;/strong&gt;&lt;/a&gt; in advance can help speed up the installation process and enhance the certainty and reliability of the installation.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;short-version&#34;&gt;Short Version&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You have to download the Pigsty source tarball and the &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/offline/#offline-package&#34;&gt;&lt;strong&gt;Offline Package&lt;/strong&gt;&lt;/a&gt; in addition to the &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/install/#installation&#34;&gt;&lt;strong&gt;Standard Installation&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Configuration</title>
        <link>https://v27.pgsty.pro/docs/setup/config/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/config/</guid>
        <description>&lt;p&gt;&lt;strong&gt;Pigsty treats Infra &amp;amp; Database as Code.&lt;/strong&gt; You can describe the infrastructure &amp;amp; database clusters through a declarative interface. All your essential work is to describe your need in the &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/config/#inventory&#34;&gt;inventory&lt;/a&gt;, then materialize it with a simple idempotent playbook.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;inventory&#34;&gt;Inventory&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Each pigsty deployment has a corresponding config &lt;strong&gt;inventory&lt;/strong&gt;. It could be stored in a local git-managed file in &lt;a href=&#34;https://docs.ansible.com/ansible/2.9/user_guide/playbooks_variables.html&#34;&gt;YAML&lt;/a&gt; format or dynamically generated from &lt;a href=&#34;https://docs.ansible.com/ansible/2.9/user_guide/intro_dynamic_inventory.html&#34;&gt;CMDB&lt;/a&gt; or any ansible compatible format. Pigsty uses a monolith YAML config file as the default config inventory, which is &lt;a href=&#34;https://github.com/Vonng/pigsty/blob/v2.7.0/pigsty.yml&#34;&gt;&lt;code&gt;pigsty.yml&lt;/code&gt;&lt;/a&gt;,  &lt;a href=&#34;https://github.com/Vonng/pigsty/blob/v2.7.0/ansible.cfg#L3&#34;&gt;located&lt;/a&gt; in the pigsty home directory.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Preparation</title>
        <link>https://v27.pgsty.pro/docs/setup/prepare/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/prepare/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;node&#34;&gt;Node&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty supports the &lt;code&gt;Linux&lt;/code&gt; kernel and &lt;code&gt;x86_64/amd64&lt;/code&gt; arch, applicable to any node.&lt;/p&gt;&#xA;&lt;p&gt;A &amp;ldquo;node&amp;rdquo; refers to a resource that is SSH accessible and offers a bare OS environment, such as a physical machine, a virtual machine, or an OS container equipped with &lt;code&gt;systemd&lt;/code&gt; and &lt;code&gt;sshd&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Deploying Pigsty requires at least 1 node. The minimum spec requirement is &lt;code&gt;1C1G&lt;/code&gt;, but it is recommended to use at least &lt;code&gt;2C4G&lt;/code&gt;, with no upper limit: parameters will automatically optimize and adapt.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Planning</title>
        <link>https://v27.pgsty.pro/docs/setup/planning/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/planning/</guid>
        <description>&lt;p&gt;Pigsty v2.7 planning starts by selecting a deployment topology and preparing the matching hosts, operating systems, network, and administrator access.&lt;/p&gt;&#xA;&lt;h2 id=&#34;planning-checklist&#34;&gt;Planning Checklist&#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Choose a single-node, monitoring-only, or highly available topology from the &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/provision/&#34;&gt;provisioning guide&lt;/a&gt; and configuration examples.&lt;/li&gt;&#xA;&lt;li&gt;Verify CPU architecture, operating-system release, storage, and network requirements in &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/prepare/&#34;&gt;Prepare&lt;/a&gt; and the &lt;a href=&#34;https://v27.pgsty.pro/docs/reference/compatibility/&#34;&gt;compatibility matrix&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Reserve stable node addresses, hostnames, required ports, and passwordless administrator SSH/sudo access before installation.&lt;/li&gt;&#xA;&lt;li&gt;Decide between online and &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/offline/&#34;&gt;offline installation&lt;/a&gt; and prepare the corresponding software source or offline package.&lt;/li&gt;&#xA;&lt;li&gt;Review the inventory in &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/config/&#34;&gt;Configuration&lt;/a&gt; and the &lt;a href=&#34;https://v27.pgsty.pro/docs/setup/security/&#34;&gt;security checklist&lt;/a&gt; before running playbooks.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The exact cluster, user, database, service, and backup settings remain in the linked v2.7 pages; this page is only the historical planning entry point.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Playbooks</title>
        <link>https://v27.pgsty.pro/docs/setup/playbook/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/playbook/</guid>
        <description>&lt;p&gt;Playbooks are used in Pigsty to install &lt;a href=&#34;https://v27.pgsty.pro/docs/concept/arch/#modules&#34;&gt;modules&lt;/a&gt; on nodes.&lt;/p&gt;&#xA;&lt;p&gt;To run playbooks, just treat them as executables. e.g. run with &lt;code&gt;./install.yml&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;playbooks&#34;&gt;Playbooks&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Here are default playbooks included in Pigsty.&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;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/install.yml&#34;&gt;&lt;code&gt;install.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Install Pigsty on current node in one-pass&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/infra.yml&#34;&gt;&lt;code&gt;infra.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init pigsty infrastructure on infra nodes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/infra-rm.yml&#34;&gt;&lt;code&gt;infra-rm.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Remove infrastructure components from infra nodes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/node.yml&#34;&gt;&lt;code&gt;node.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init node for pigsty, tune node into desired status&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/node-rm.yml&#34;&gt;&lt;code&gt;node-rm.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Remove node from pigsty&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql.yml&#34;&gt;&lt;code&gt;pgsql.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init HA PostgreSQL clusters, or adding new replicas&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql-rm.yml&#34;&gt;&lt;code&gt;pgsql-rm.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Remove PostgreSQL cluster, or remove replicas&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql-user.yml&#34;&gt;&lt;code&gt;pgsql-user.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Add new business user to existing PostgreSQL cluster&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql-db.yml&#34;&gt;&lt;code&gt;pgsql-db.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Add new business database to existing PostgreSQL cluster&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql-monitor.yml&#34;&gt;&lt;code&gt;pgsql-monitor.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Monitor remote postgres instance with local exporters&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/pgsql-migration.yml&#34;&gt;&lt;code&gt;pgsql-migration.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Generate Migration manual &amp;amp; scripts for existing PostgreSQL&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/redis.yml&#34;&gt;&lt;code&gt;redis.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init redis cluster/node/instance&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/redis-rm.yml&#34;&gt;&lt;code&gt;redis-rm.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Remove redis cluster/node/instance&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/etcd.yml&#34;&gt;&lt;code&gt;etcd.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init etcd cluster (required for patroni HA DCS)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/minio.yml&#34;&gt;&lt;code&gt;minio.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Init minio cluster (optional for pgbackrest repo)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/cert.yml&#34;&gt;&lt;code&gt;cert.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Issue cert with pigsty self-signed CA (e.g. for pg clients)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/docker.yml&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Install docker on nodes&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://github.com/vonng/pigsty/blob/master/mongo.yml&#34;&gt;&lt;code&gt;mongo.yml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;td&gt;在节点上安装 Mongo/FerretDB&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;One-Pass Install&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Provisioning</title>
        <link>https://v27.pgsty.pro/docs/setup/provision/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/provision/</guid>
        <description>&lt;p&gt;Pigsty runs on nodes, which are Bare Metals or Virtual Machines. You can prepare them manually, or using terraform &amp;amp; vagrant for provisioning.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;sandbox&#34;&gt;Sandbox&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Pigsty has a sandbox, which is a 4-node deployment with fixed IP addresses and other identifiers.&#xA;Check &lt;a href=&#34;https://github.com/Vonng/pigsty/blob/v2.7.0/files/pigsty/demo.yml&#34;&gt;&lt;code&gt;demo.yml&lt;/code&gt;&lt;/a&gt; for details.&lt;/p&gt;&#xA;&lt;p&gt;The sandbox consists of 4 nodes with fixed IP addresses: &lt;code&gt;10.10.10.10&lt;/code&gt;, &lt;code&gt;10.10.10.11&lt;/code&gt;, &lt;code&gt;10.10.10.12&lt;/code&gt;, &lt;code&gt;10.10.10.13&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There&amp;rsquo;s a primary singleton PostgreSQL cluster: &lt;code&gt;pg-meta&lt;/code&gt; on the &lt;code&gt;meta&lt;/code&gt; node, which can be used alone if you don&amp;rsquo;t care about PostgreSQL high availability.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Security</title>
        <link>https://v27.pgsty.pro/docs/setup/security/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/security/</guid>
        <description>&lt;p&gt;Pigsty already provides a secure-by-default &lt;a href=&#34;https://v27.pgsty.pro/docs/pgsql/hba/&#34;&gt;authentication&lt;/a&gt; and &lt;a href=&#34;https://v27.pgsty.pro/docs/pgsql/acl/&#34;&gt;access control&lt;/a&gt; model, which is sufficient for most scenarios.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v27.pgsty.pro/docs/pgsql/acl/&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://v27.pgsty.pro/img/pigsty/acl.jpg&#34; alt=&#34;pigsty-acl.jpg&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;But if you want to further strengthen the security of the system, the following suggestions are for your reference:&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;confidentiality&#34;&gt;Confidentiality&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;important-files&#34;&gt;Important Files&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Secure your pigsty config inventory&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pigsty.yml&lt;/code&gt; has highly sensitive information, including passwords, certificates, and keys.&lt;/li&gt;&#xA;&lt;li&gt;You should limit access to admin/infra nodes, only accessible by the admin/dba users&lt;/li&gt;&#xA;&lt;li&gt;Limit access to the git repo, if you are using git to manage your pigsty source.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Secure your CA private key and other certs&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/docker/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/docker/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-to-install-docker-&#34;&gt;How to install Docker ？&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Install with the &lt;a href=&#34;https://v27.pgsty.pro/docs/docker/#dockeryml&#34;&gt;&lt;code&gt;docker.yml&lt;/code&gt;&lt;/a&gt; playbook, targeting at any node managed by Pigsty.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-4c06b157-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-4c06b157-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;./docker.yml -l &amp;lt;selector&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/etcd/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/etcd/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;what-is-the-impact-of-etcd-failure&#34;&gt;What is the impact of ETCD failure?&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://v27.pgsty.pro/docs/etcd/&#34;&gt;ETCD&lt;/a&gt; availability is critical for the PGSQL cluster&amp;rsquo;s HA, which is guaranteed by using multiple nodes.&#xA;With a 3-node ETCD cluster, if one node is down, the other two nodes can still function normally; and with a 5-node ETCD cluster, two-node failure can still be tolerated.&#xA;If more than half of the ETCD nodes are down, the ETCD cluster and its service will be unavailable.&#xA;Before Patroni 3.0, this could lead to a global &lt;a href=&#34;https://v27.pgsty.pro/docs/pgsql/&#34;&gt;PGSQL&lt;/a&gt; outage; all primary will be demoted and reject write requests.&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/infra/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/infra/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;which-components-are-included-in-infra&#34;&gt;Which components are included in INFRA&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ansible for automation, deployment, and administration;&lt;/li&gt;&#xA;&lt;li&gt;Nginx for exposing any WebUI service and serving the yum/apt repo;&lt;/li&gt;&#xA;&lt;li&gt;Self-Signed CA for SSL/TLS certificates;&lt;/li&gt;&#xA;&lt;li&gt;Prometheus for monitoring metrics&lt;/li&gt;&#xA;&lt;li&gt;Grafana for monitoring/visualization&lt;/li&gt;&#xA;&lt;li&gt;Loki for logging collection&lt;/li&gt;&#xA;&lt;li&gt;AlertManager for alerts aggregation&lt;/li&gt;&#xA;&lt;li&gt;Chronyd for NTP time sync on the admin node.&lt;/li&gt;&#xA;&lt;li&gt;DNSMasq for DNS registration and resolution.&lt;/li&gt;&#xA;&lt;li&gt;ETCD as DCS for PGSQL HA; (dedicated module)&lt;/li&gt;&#xA;&lt;li&gt;PostgreSQL on meta nodes as CMDB; (optional)&lt;/li&gt;&#xA;&lt;li&gt;Docker for stateless applications &amp;amp; tools (optional)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-to-restore-prometheus-targets&#34;&gt;How to restore Prometheus targets&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;If you accidentally deleted the Prometheus targets dir, you can register monitoring targets to Prometheus again with the:&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/minio/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/minio/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;fail-to-launch-multi-node--multi-driver-minio-cluster&#34;&gt;Fail to launch multi-node / multi-driver MinIO cluster.&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://v27.pgsty.pro/docs/minio/#single-node-multi-drive&#34;&gt;Multi-Driver&lt;/a&gt; or &lt;a href=&#34;https://v27.pgsty.pro/docs/minio/#multi-node-multi-drive&#34;&gt;Multi-Node&lt;/a&gt; mode, MinIO will refuse to start if the data dir is not a valid mount point.&lt;/p&gt;&#xA;&lt;p&gt;Use mounted disks for MinIO data dir rather than some regular directory. You can use the regular directory only in the &lt;a href=&#34;https://v27.pgsty.pro/docs/minio/#single-node-single-drive&#34;&gt;single node, single drive&lt;/a&gt; mode.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-to-deploy-a-multi-node-multi-drive-minio-cluster&#34;&gt;How to deploy a multi-node multi-drive MinIO cluster?&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Check &lt;a href=&#34;https://v27.pgsty.pro/docs/minio/#multi-node-multi-drive&#34;&gt;Create Multi-Node Multi-Driver MinIO Cluster&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/mongo/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/mongo/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;install-mongosh&#34;&gt;Install mongosh&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-15176f3d-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-15176f3d-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;cat &amp;gt; /etc/yum.repos.d/mongo.repo &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;EOF&#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;s&#34;&gt;[mongodb-org-7.0]&#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;s&#34;&gt;name=MongoDB Repository&#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;s&#34;&gt;baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/&#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;s&#34;&gt;gpgcheck=0&#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;s&#34;&gt;enabled=1&#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;s&#34;&gt;EOF&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;yum install -y mongodb-mongosh&#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;# or just install via rpm &amp;amp; links&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7/RPMS/mongodb-mongosh-1.9.1.x86_64.rpm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/node/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/node/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-to-configure-ntp-service&#34;&gt;How to configure NTP service?&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If NTP is not configured, use a public NTP service or sync time with the admin node.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If your nodes already have NTP configured, you can leave it there by setting &lt;code&gt;node_ntp_enabled&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Otherwise, if you have Internet access, you can use public NTP services such as &lt;code&gt;pool.ntp.org&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you don&amp;rsquo;t have Internet access, at least you can sync time with the admin node with the following:&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/redis/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/redis/faq/</guid>
        <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;abort-due-to-existing-redis-instance&#34;&gt;ABORT due to existing redis instance&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;use &lt;code&gt;redis_clean = true&lt;/code&gt; and &lt;code&gt;redis_safeguard = false&lt;/code&gt; to force clean redis data&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This happens when you run &lt;code&gt;redis.yml&lt;/code&gt; to init a redis instance that is already running, and &lt;a href=&#34;https://v27.pgsty.pro/docs/reference/param/#redis_clean&#34;&gt;&lt;code&gt;redis_clean&lt;/code&gt;&lt;/a&gt; is set to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;code&gt;redis_clean&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt; (and the &lt;code&gt;redis_safeguard&lt;/code&gt; is set to &lt;code&gt;false&lt;/code&gt;, too), the &lt;code&gt;redis.yml&lt;/code&gt; playbook will remove the existing redis instance and re-init it as a new one, which makes the &lt;code&gt;redis.yml&lt;/code&gt; playbook fully idempotent.&lt;/p&gt;</description>
      </item>
    <item>
        <title>FAQ</title>
        <link>https://v27.pgsty.pro/docs/setup/faq/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://v27.pgsty.pro/docs/setup/faq/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;If you have any unlisted questions or suggestions, please create 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://v27.pgsty.pro/docs/#about&#34;&gt;community&lt;/a&gt; for help.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-to-get-the-pigsty-source-package&#34;&gt;How to Get the Pigsty Source Package?&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Use the following command to install Pigsty with one click: &lt;code&gt;bash -c &amp;quot;$(curl -fsSL https://get.pigsty.cc/install)&amp;quot; -- v2.7.0&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;This command will automatically download the latest stable version &lt;code&gt;pigsty.tgz&lt;/code&gt; and extract it to the &lt;code&gt;~/pigsty&lt;/code&gt; directory. You can also manually download a specific version of the Pigsty source code from the following locations.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
