# demo/remote

> 使用 INFRA 节点上的 pg_exporter 监控远程 PostgreSQL 与云 RDS 的示例

---

LLMS index: [llms.txt](/llms.txt)

---

`demo/remote` 不部署本地 PostgreSQL 集群，而是在 INFRA 节点上声明多个 `pg_exporters`，用于接入远程 PostgreSQL、PolarDB 或云 RDS。


--------

## 配置概览

- 配置名称：`demo/remote`
- 本地节点数量：1 个 INFRA 节点
- Exporter 示例端口：`20001`～`20016`
- 相关文档：[PG Exporter](/docs/pg_exporter/)

```bash
./configure -c demo/remote [-i <infra_ip>]
```


--------

## 配置内容

源文件地址：[`pigsty/conf/demo/remote.yml`](https://github.com/pgsty/pigsty/blob/main/conf/demo/remote.yml)

<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#==============================================================#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># File      :   remote.yml</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Desc      :   Monitoring Remote RDS with pigsty</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Ctime     :   2020-05-22</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Mtime     :   2025-12-12</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Docs      :   https://pigsty.io/docs/conf</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># License   :   Apache-2.0 @ https://pigsty.io/docs/about/license/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Copyright :   2018-2026  Ruohang Feng / Vonng (rh@vonng.com)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#==============================================================#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">all</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">children</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">infra</span><span class="p">:</span><span class="w">            </span><span class="c"># infra cluster for proxy, monitor, alert, etc..</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">hosts</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">10.10.10.10</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">infra_seq</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w"> </span>}<span class="w"> </span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">vars</span><span class="p">:</span><span class="w">           </span><span class="c"># install pg_exporter for remote postgres RDS on a group &#39;infra&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">pg_exporters</span><span class="p">:</span><span class="w"> </span><span class="c"># list all remote instances here, alloc a unique unused local port as k</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20001</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="nt">pg-foo, pg_seq</span><span class="p">:</span><span class="w"> </span><span class="nt">1, pg_host</span><span class="p">:</span><span class="w"> </span><span class="m">10.10.10.10</span><span class="w"> </span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20002</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="nt">pg-bar, pg_seq</span><span class="p">:</span><span class="w"> </span><span class="nt">1, pg_host</span><span class="p">:</span><span class="w"> </span><span class="nt">10.10.10.11 , pg_port</span><span class="p">:</span><span class="w"> </span><span class="m">5432</span><span class="w"> </span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20003</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="nt">pg-bar, pg_seq</span><span class="p">:</span><span class="w"> </span><span class="nt">2, pg_host</span><span class="p">:</span><span class="w"> </span><span class="nt">10.10.10.12 , pg_exporter_url</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;postgres://dbuser_monitor:DBUser.Monitor@10.10.10.12:5432/postgres?sslmode=disable&#39;</span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20004</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="nt">pg-bar, pg_seq</span><span class="p">:</span><span class="w"> </span><span class="nt">3, pg_host</span><span class="p">:</span><span class="w"> </span><span class="nt">10.10.10.13 , pg_monitor_username</span><span class="p">:</span><span class="w"> </span><span class="nt">dbuser_monitor, pg_monitor_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser.Monitor }</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20011</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="l">pg-polar                       </span><span class="w"> </span><span class="c"># RDS Cluster Name (Identity, Explicitly Assigned, used as &#39;cls&#39;)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_seq</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">                                   </span><span class="c"># RDS Instance Seq (Identity, Explicitly Assigned, used as part of &#39;ins&#39;)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_host</span><span class="p">:</span><span class="w"> </span><span class="l">pxx.polardbpg.rds.aliyuncs.com    </span><span class="w"> </span><span class="c"># RDS Host Address</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_port</span><span class="p">:</span><span class="w"> </span><span class="m">1921</span><span class="w">                               </span><span class="c"># RDS Port</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_include_database</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;test&#39;</span><span class="w">        </span><span class="c"># Only monitoring database in this list</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_monitor_username</span><span class="p">:</span><span class="w"> </span><span class="l">dbuser_monitor        </span><span class="w"> </span><span class="c"># monitor username, overwrite default</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_monitor_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser_Monitor        </span><span class="w"> </span><span class="c"># monitor password, overwrite default</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_databases</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>{<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test }]             </span><span class="w"> </span><span class="c"># database to be added to grafana datasource</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20012</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="l">pg-polar                       </span><span class="w"> </span><span class="c"># RDS Cluster Name (Identity, Explicitly Assigned, used as &#39;cls&#39;)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_seq</span><span class="p">:</span><span class="w"> </span><span class="m">2</span><span class="w">                                   </span><span class="c"># RDS Instance Seq (Identity, Explicitly Assigned, used as part of &#39;ins&#39;)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_host</span><span class="p">:</span><span class="w"> </span><span class="l">pe-xx.polarpgmxs.rds.aliyuncs.com </span><span class="w"> </span><span class="c"># RDS Host Address</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_port</span><span class="p">:</span><span class="w"> </span><span class="m">1521</span><span class="w">                               </span><span class="c"># RDS Port</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_databases</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>{<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test }]             </span><span class="w"> </span><span class="c"># database to be added to grafana datasource</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20014</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="l">pg-rds</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_seq</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_host</span><span class="p">:</span><span class="w"> </span><span class="l">pgm-xx.pg.rds.aliyuncs.com</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_port</span><span class="p">:</span><span class="w"> </span><span class="m">5432</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_auto_discovery</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_include_database</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;rds&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_monitor_username</span><span class="p">:</span><span class="w"> </span><span class="l">dbuser_monitor</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_monitor_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser_Monitor</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_databases</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span>{<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">rds } ]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20015</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="l">pg-rdsha</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_seq</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_host</span><span class="p">:</span><span class="w"> </span><span class="l">pgm-2xx8wu.pg.rds.aliyuncs.com</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_port</span><span class="p">:</span><span class="w"> </span><span class="m">5432</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_auto_discovery</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_include_database</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;rds&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_databases</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>{<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test }, {name: rds}]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20016</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="l">pg-rdsha</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_seq</span><span class="p">:</span><span class="w"> </span><span class="m">2</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_host</span><span class="p">:</span><span class="w"> </span><span class="l">pgr-xx.pg.rds.aliyuncs.com</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_auto_discovery</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_exporter_include_database</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;rds&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">            </span><span class="nt">pg_databases</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>{<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">test }, {name: rds}]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  
</span></span></span><span class="line"><span class="cl"><span class="w">  
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">vars</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l">v4.5.0                  </span><span class="w"> </span><span class="c"># pigsty version string</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">admin_ip</span><span class="p">:</span><span class="w"> </span><span class="m">10.10.10.10</span><span class="w">             </span><span class="c"># admin node ip address</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">region</span><span class="p">:</span><span class="w"> </span><span class="l">default                  </span><span class="w"> </span><span class="c"># upstream mirror region: default,china,europe</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#----------------------------------------------#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># PASSWORD : https://pigsty.io/docs/setup/security/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#----------------------------------------------#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">grafana_admin_password</span><span class="p">:</span><span class="w"> </span><span class="l">pigsty</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">grafana_view_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser.Viewer</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">pg_admin_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser.DBA</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">pg_monitor_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser.Monitor</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">pg_replication_password</span><span class="p">:</span><span class="w"> </span><span class="l">DBUser.Replicator</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">patroni_password</span><span class="p">:</span><span class="w"> </span><span class="l">Patroni.API</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">haproxy_admin_password</span><span class="p">:</span><span class="w"> </span><span class="l">pigsty</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">minio_secret_key</span><span class="p">:</span><span class="w"> </span><span class="l">S3User.MinIO</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">etcd_root_password</span><span class="p">:</span><span class="w"> </span><span class="l">Etcd.Root</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">...</span></span></span></code></pre></div>


--------

## 配置解读

每个 `pg_exporters` 条目使用一个唯一的本地监听端口，并声明远端实例的 `pg_cluster`、`pg_seq`、`pg_host` 与可选连接参数。模板同时展示完整 URL、拆分账号密码、数据库白名单与自动发现等写法。

示例主机名和凭据都是占位值。实际使用时只保留需要的条目，并使用最小权限监控账号；不要把真实 RDS 密码提交到版本库。
