# 下载 PG Exporter

> 选择、安装、配置、启用并验证 PG Exporter 软件包、压缩包、容器、Pigsty 自动化或源码构建

---

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

---

PG Exporter 1.4.1 提供托管式 Linux 软件包、独立 RPM/DEB、Linux/macOS/Windows 发布压缩包、多架构容器镜像、Pigsty 自动化与源码构建。选择标准应当是生命周期由谁负责，而不是功能差异：每条路径运行的都是同一个导出器与同一套声明式采集器。

<div class="alert alert-info" role="alert"><div class="h4 alert-heading" role="heading" aria-level="4">产品名与交付物名称</div>


产品名称写作 **PG Exporter**。Linux 软件包名是 `pg-exporter`；可执行文件、服务、配置文件与容器仓库继续保留兼容名称 `pg_exporter`。
</div>


<div id="td-nav-cards-03f7cfcdbf5b31edcfcc7a65e7b16d2b-2" class="td-content-cards" style="--td-card-columns: 4">
<article id="td-nav-card-03f7cfcdbf5b31edcfcc7a65e7b16d2b-nav-cards-2-0" class="td-content-card">
  <div class="td-content-card__body">
    <div class="td-content-card__head"><i class="fa-solid fa-box-archive td-content-card__icon" aria-hidden="true"></i><a class="td-content-card__title" href="#repository-packages">Linux 软件包</a><span class="td-content-card__badge">推荐</span></div><p class="td-content-card__description">APT/YUM 生命周期、systemd 单元、合并配置与 /etc/default/pg_exporter。</p>
  </div>
</article>

<article id="td-nav-card-03f7cfcdbf5b31edcfcc7a65e7b16d2b-nav-cards-2-1" class="td-content-card">
  <div class="td-content-card__body">
    <div class="td-content-card__head"><i class="fa-solid fa-file-zipper td-content-card__icon" aria-hidden="true"></i><a class="td-content-card__title" href="#github-release-artifacts">发布产物</a></div><p class="td-content-card__description">带 SHA256 校验和的固定版本 RPM、DEB 及 Linux/macOS/Windows 压缩包。</p>
  </div>
</article>

<article id="td-nav-card-03f7cfcdbf5b31edcfcc7a65e7b16d2b-nav-cards-2-2" class="td-content-card">
  <div class="td-content-card__body">
    <div class="td-content-card__head"><i class="fa-brands fa-docker td-content-card__icon" aria-hidden="true"></i><a class="td-content-card__title" href="#container-image">容器镜像</a></div><p class="td-content-card__description">适用于 Docker、Podman、Compose 或编排平台的固定版本 amd64/arm64 镜像。</p>
  </div>
</article>

<article id="td-nav-card-03f7cfcdbf5b31edcfcc7a65e7b16d2b-nav-cards-2-3" class="td-content-card">
  <div class="td-content-card__body">
    <div class="td-content-card__head"><i class="fa-solid fa-code-branch td-content-card__icon" aria-hidden="true"></i><a class="td-content-card__title" href="#pigsty">Pigsty 或源码</a></div><p class="td-content-card__description">由 Pigsty 交付完整监控栈，或自行负责一个指定标签的完整构建。</p>
  </div>
</article>

</div>


## 选择安装路径

| 方式 | 最适合 | 生命周期负责人 | 服务集成 |
|:---|:---|:---|:---|
| Pigsty APT/YUM 仓库 | 长期运行的 Linux 主机 | 操作系统包管理器 | 自带 systemd 单元与默认参数 |
| 独立 RPM/DEB | 固定版本或离线 Linux 晋级流程 | 你的制品流水线 | 自带 systemd 单元与默认参数 |
| 发布压缩包 | 极简安装、macOS/Windows、自定义目录 | 你 | 带服务示例，需要手工接线 |
| 容器镜像 | 容器平台 | 容器运行时或编排器 | 重启与密钥策略由你负责 |
| Pigsty | PostgreSQL 加完整可观测性栈 | Pigsty 自动化 | 集成指标、规则与仪表盘 |
| 源码 | 开发、审计、自定义构建 | 你 | 手工处理 |
{.full-width}

长期运行的 Linux 服务首选仓库软件包。升级、文件属主、`/etc/default/pg_exporter`、合并采集器配置与 systemd 行为都由同一个受管单元负责。

## 软件仓库 {#repository-packages}

`pigsty-infra` 仓库面向常见 EL 与 Debian/Ubuntu 平台发布 `pg-exporter`。




<ul class="nav nav-tabs" id="tabs-3" role="tablist"><li class="nav-item" role="presentation"><button class="nav-link active" id="tabs-03-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-03-00" role="tab" data-td-tp-persist="apt · debian / ubuntu" aria-controls="tabs-03-00" aria-selected="true">APT · Debian / Ubuntu</button></li><li class="nav-item" role="presentation"><button class="nav-link" id="tabs-03-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-03-01" role="tab" data-td-tp-persist="yum · rhel / rocky / alma" aria-controls="tabs-03-01" aria-selected="false">YUM · RHEL / Rocky / Alma</button></li></ul>

<div class="tab-content" id="tabs-3-content"><div class="tab-body tab-pane fade show active" id="tabs-03-00" role="tabpanel" aria-labelledby="tabs-03-00-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo tee /etc/apt/sources.list.d/pigsty-infra.list &gt; /dev/null <span class="s">&lt;&lt;&#39;EOF&#39;
</span></span></span><span class="line"><span class="cl"><span class="s">deb [trusted=yes] https://repo.pigsty.io/apt/infra generic main
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install -y pg-exporter</span></span></code></pre></div></div><div class="tab-body tab-pane fade" id="tabs-03-01" role="tabpanel" aria-labelledby="tabs-03-01-tab" tabindex="0"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo tee /etc/yum.repos.d/pigsty-infra.repo &gt; /dev/null <span class="s">&lt;&lt;&#39;EOF&#39;
</span></span></span><span class="line"><span class="cl"><span class="s">[pigsty-infra]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Pigsty Infra for $basearch
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://repo.pigsty.io/yum/infra/$basearch
</span></span></span><span class="line"><span class="cl"><span class="s">enabled=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck=0
</span></span></span><span class="line"><span class="cl"><span class="s">module_hotfixes=1
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">sudo yum makecache
</span></span><span class="line"><span class="cl">sudo yum install -y pg-exporter</span></span></code></pre></div></div>
</div>


这些示例与当前 Pigsty 软件包通道保持一致。如果你的供应链制度要求签名的软件仓库元数据，应当把校验过的发布产物晋级到自有仓库，而不是在生产主机上放宽制度。

### 配置并启用服务 {#enable-service}

软件包会安装：

- `/usr/bin/pg_exporter`：可执行文件；
- `/etc/pg_exporter.yml`：合并采集器配置，升级时保留；
- `/etc/default/pg_exporter`：进程环境变量与参数，升级时保留；
- `pg_exporter.service`：以 `prometheus` 用户运行的 systemd 单元。

先创建[数据库监控用户](/zh/start/#创建监控用户)，再写入连接 URL：

```bash
sudoedit /etc/default/pg_exporter

# 在文件中设置；生产环境优先使用 .pgpass 或密钥文件。
PG_EXPORTER_URL='postgres://monitor@127.0.0.1:5432/postgres?sslmode=disable'
```

启用、启动并验证服务：

```bash
sudo systemctl enable --now pg_exporter
sudo systemctl status pg_exporter
journalctl -u pg_exporter -n 50 --no-pager

curl -fsS http://127.0.0.1:9630/up
curl -fsS http://127.0.0.1:9630/metrics | grep '^pg_up '
```

远程生产目标应使用 `sslmode=verify-full` 并明确配置 CA。[部署指南](/zh/deploy/#监控用户与凭据)详细说明 `.pgpass`、`PG_EXPORTER_URL_FILE`、HTTP TLS/认证与网络暴露策略。

## GitHub 发布产物 {#github-release-artifacts}

[v1.4.1 版本](https://github.com/pgsty/pg_exporter/releases/tag/v1.4.1)包含 RPM、DEB，以及 Linux、macOS、Windows 压缩包。Linux 支持 amd64、arm64、ppc64le；macOS 支持 amd64、arm64；Windows 提供 amd64。





<ul class="nav nav-tabs" id="tabs-6" role="tablist"><li class="nav-item" role="presentation"><button class="nav-link active" id="tabs-06-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-06-00" role="tab" data-td-tp-persist="deb 软件包" aria-controls="tabs-06-00" aria-selected="true">DEB 软件包</button></li><li class="nav-item" role="presentation"><button class="nav-link" id="tabs-06-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-06-01" role="tab" data-td-tp-persist="rpm 软件包" aria-controls="tabs-06-01" aria-selected="false">RPM 软件包</button></li><li class="nav-item" role="presentation"><button class="nav-link" id="tabs-06-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-06-02" role="tab" data-td-tp-persist="tar 压缩包" aria-controls="tabs-06-02" aria-selected="false">Tar 压缩包</button></li></ul>

<div class="tab-content" id="tabs-6-content"><div class="tab-body tab-pane fade show active" id="tabs-06-00" role="tabpanel" aria-labelledby="tabs-06-00-tab" tabindex="0"><p>根据发布文件名选择 <code>ARCH=amd64</code>、<code>arm64</code> 或 <code>ppc64le</code>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">VERSION</span><span class="o">=</span>1.4.1
</span></span><span class="line"><span class="cl"><span class="nv">ARCH</span><span class="o">=</span>amd64
</span></span><span class="line"><span class="cl">curl -fLO <span class="s2">&#34;https://github.com/pgsty/pg_exporter/releases/download/v</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">/pg-exporter_</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">-1_</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">.deb&#34;</span>
</span></span><span class="line"><span class="cl">sudo apt install <span class="s2">&#34;./pg-exporter_</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">-1_</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">.deb&#34;</span></span></span></code></pre></div><p>然后继续<a href="/zh/download/#enable-service">配置服务</a>。</p>
</div><div class="tab-body tab-pane fade" id="tabs-06-01" role="tabpanel" aria-labelledby="tabs-06-01-tab" tabindex="0"><p>在受支持平台上，<code>uname -m</code> 会返回发布产物使用的 <code>x86_64</code>、<code>aarch64</code> 或 <code>ppc64le</code>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">VERSION</span><span class="o">=</span>1.4.1
</span></span><span class="line"><span class="cl"><span class="nv">ARCH</span><span class="o">=</span><span class="k">$(</span>uname -m<span class="k">)</span>
</span></span><span class="line"><span class="cl">curl -fLO <span class="s2">&#34;https://github.com/pgsty/pg_exporter/releases/download/v</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">/pg-exporter-</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">-1.</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">.rpm&#34;</span>
</span></span><span class="line"><span class="cl">sudo dnf install <span class="s2">&#34;./pg-exporter-</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">-1.</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">.rpm&#34;</span></span></span></code></pre></div><p>然后继续<a href="/zh/download/#enable-service">配置服务</a>。</p>
</div><div class="tab-body tab-pane fade" id="tabs-06-02" role="tabpanel" aria-labelledby="tabs-06-02-tab" tabindex="0"><p><code>OS</code> 可选 <code>linux</code> 或 <code>darwin</code>；<code>ARCH</code> 可选 <code>amd64</code>、<code>arm64</code> 或仅 Linux 支持的 <code>ppc64le</code>。Windows 用户下载 <code>windows-amd64</code> 压缩包，并从自选目录运行 <code>pg_exporter.exe</code>。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">VERSION</span><span class="o">=</span>1.4.1
</span></span><span class="line"><span class="cl"><span class="nv">OS</span><span class="o">=</span>linux
</span></span><span class="line"><span class="cl"><span class="nv">ARCH</span><span class="o">=</span>amd64
</span></span><span class="line"><span class="cl"><span class="nv">ARCHIVE</span><span class="o">=</span><span class="s2">&#34;pg_exporter-</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">.</span><span class="si">${</span><span class="nv">OS</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">.tar.gz&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">STAGE</span><span class="o">=</span><span class="s2">&#34;pg_exporter-</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">OS</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">ARCH</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">curl -fLO <span class="s2">&#34;https://github.com/pgsty/pg_exporter/releases/download/v</span><span class="si">${</span><span class="nv">VERSION</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">ARCHIVE</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">mkdir -p <span class="s2">&#34;</span><span class="si">${</span><span class="nv">STAGE</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">tar -xzf <span class="s2">&#34;</span><span class="si">${</span><span class="nv">ARCHIVE</span><span class="si">}</span><span class="s2">&#34;</span> -C <span class="s2">&#34;</span><span class="si">${</span><span class="nv">STAGE</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">sudo install -m <span class="m">0755</span> <span class="s2">&#34;</span><span class="si">${</span><span class="nv">STAGE</span><span class="si">}</span><span class="s2">/pg_exporter&#34;</span> /usr/local/bin/pg_exporter
</span></span><span class="line"><span class="cl">sudo install -m <span class="m">0644</span> <span class="s2">&#34;</span><span class="si">${</span><span class="nv">STAGE</span><span class="si">}</span><span class="s2">/pg_exporter.yml&#34;</span> /etc/pg_exporter.yml
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">pg_exporter --version</span></span></code></pre></div><p>你可以用 <code>PG_EXPORTER_URL=... pg_exporter</code> 直接运行，或按自己的路径调整压缩包内的 <code>package/pg_exporter.service</code> 与 <code>package/pg_exporter.default</code> 示例。</p>
</div>
</div>


### 校验下载文件

每个版本都附带 `checksums.txt`。请先校验，再安装或晋级：

```bash
VERSION=1.4.1
curl -fLO "https://github.com/pgsty/pg_exporter/releases/download/v${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
```

macOS 可以执行 `shasum -a 256 <archive>`，并与 `checksums.txt` 中对应条目比较。

## 容器镜像 {#container-image}

官方 [`pgsty/pg_exporter`](https://hub.docker.com/r/pgsty/pg_exporter) 镜像提供 amd64 与 arm64 清单。生产部署请固定版本标签：

```bash
docker run -d \
  --name pg_exporter \
  --restart unless-stopped \
  -p 127.0.0.1:9630:9630 \
  -e PG_EXPORTER_URL='postgres://monitor:S3cret@postgres:5432/postgres' \
  pgsty/pg_exporter:1.4.1

curl -fsS http://127.0.0.1:9630/up
curl -fsS http://127.0.0.1:9630/metrics | grep '^pg_up '
```

只有在确实需要自定义时才挂载采集器配置：

```bash
docker run -d \
  --name pg_exporter \
  --restart unless-stopped \
  -p 127.0.0.1:9630:9630 \
  -e PG_EXPORTER_URL_FILE=/run/secrets/pgurl \
  -v ./pgurl:/run/secrets/pgurl:ro \
  -v ./pg_exporter.yml:/etc/pg_exporter.yml:ro \
  pgsty/pg_exporter:1.4.1
```

<div class="alert alert-warning" role="alert"><div class="h4 alert-heading" role="heading" aria-level="4">Scratch 镜像</div>


镜像只包含静态导出器、合并配置与许可证，没有 Shell 或操作系统 CA 包。使用 `sslmode=verify-ca` 或 `verify-full` 时必须明确挂载所需 CA。
</div>


Compose、Kubernetes、探针、密钥与 Prometheus 接线示例见[容器与 Kubernetes 部署](/zh/deploy/#docker-部署)。

## Pigsty {#pigsty}

如果你需要 PG Exporter 加 PostgreSQL 发行版、Prometheus 兼容指标存储、记录/告警规则与 Grafana 仪表盘，[Pigsty](https://pigsty.cc/) 是完整集成路径。

```bash
curl -fsSL https://repo.pigsty.io/get | bash
cd ~/pigsty
```

这段引导命令只负责获取 Pigsty；对任何主机执行部署前，都应选择正确的配置清单与部署流程。后续参阅 [Pigsty 安装指南](https://pigsty.cc/docs/setup/install/)及其现有 PostgreSQL 监控流程。

## 从源码构建

使用版本标签 `go.mod` 声明的 Go 版本，并构建精确的发布源码：

```bash
git clone https://github.com/pgsty/pg_exporter.git
cd pg_exporter
git checkout "v1.4.1"
make build

./pg_exporter --version
PG_EXPORTER_URL='postgres://monitor@127.0.0.1:5432/postgres' ./pg_exporter --dry-run
```

在 Unix 上手工安装：

```bash
sudo install -m 0755 pg_exporter /usr/local/bin/pg_exporter
sudo install -m 0644 pg_exporter.yml /etc/pg_exporter.yml
```

源码构建不会创建服务用户，也不会注册系统服务。如果需要软件包级别的属主与服务行为，请使用 RPM/DEB，或明确复现这些控制。

## 启用检查清单

只有目标可以被抓取，安装才算完成：

1. 创建最小权限的[监控用户](/zh/start/#创建监控用户)。
2. 通过 `--url`、`PG_EXPORTER_URL`、`PGURL` 或 `PG_EXPORTER_URL_FILE` 提供连接。
3. 执行 `pg_exporter --dry-run` 并检查 [`/explain`](/zh/api/#get-explain)。
4. 验证 `/up`，并确认 `/metrics` 中出现 `pg_up 1`。
5. 将导出器加入 [Prometheus 兼容抓取](/zh/start/#接入-prometheus)。
6. 生产环境还要检查[凭据、TLS、HTTP 暴露、systemd/容器重启策略与探针](/zh/deploy/)。

需要完整制品矩阵或 PostgreSQL/PgBouncer 兼容性细节？请继续查看[安装参考](/zh/install/)与[兼容性矩阵](/zh/compatibility/)。
