跳转到主要内容

参考

84 篇
  • etcd v2.1.0 基准测试

    发布于 基准测试

    参考

    物理机 GCE n1-highcpu-2 机器类型 1 块专用本地 SSD,挂载于 /var/lib/etcd 1 块专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 版本 2.1.0 alpha etcd 集群 3 个 etcd 成员,每个成员运行在单台机器上 测试 引导另一台机器,并使用 hey HTTP 压力测试工具 向每个 etcd 成员发送请求。请参阅 基准测试黑客指南 以获取详细操作说明。 性能 读取单一键 键大小(字节) 客户端数量 目标 etcd 服务器 …

    物理机 GCE n1-highcpu-2 机器类型 1 块专用本地 SSD,挂载于 /var/lib/etcd 1 块专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 版本 2.1.0 alpha etcd 集群 3 个 etcd 成员,每个成员运行在单台机器上 测试 引导另一台机器,并使用 hey HTTP 压力测试工具 向每个 etcd 成员发送请求。请参阅 基准测试黑客指南 以获取详细操作说明。 性能 读取单一键 键大小(字节) 客户端数量 目标 etcd 服务器 …

  • etcd v2.2.0 基准测试

    发布于 基准测试

    参考

    物理机 GCE n1-highcpu-2 机器类型 1 块专用本地 SSD,挂载为 etcd 数据目录 1 块专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 集群 3 etcd 2.2.0 成员,每个成员运行在单台机器上。 详细版本: etcd Version: 2.2.0 Git SHA: e4561dd Go Version: go1.5 Go OS/Arch: linux/amd64 测试 在 etcd 集群外部引导另一台机器,并运行 hey HTTP 基准测试工 …

    物理机 GCE n1-highcpu-2 机器类型 1 块专用本地 SSD,挂载为 etcd 数据目录 1 块专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 集群 3 etcd 2.2.0 成员,每个成员运行在单台机器上。 详细版本: etcd Version: 2.2.0 Git SHA: e4561dd Go Version: go1.5 Go OS/Arch: linux/amd64 测试 在 etcd 集群外部引导另一台机器,并运行 hey HTTP 基准测试工 …

  • etcd v2.2.0-rc 基准测试

    发布于 基准测试

    参考

    物理机 GCE n1-highcpu-2 机器类型 1 个专用本地 SSD,挂载于 /var/lib/etcd 1 个专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 集群 3 etcd 2.2.0-rc 成员,每个成员运行在单台机器上。 详细版本: etcd Version: 2.2.0-alpha.1+git Git SHA: 59a5a7e Go Version: go1.4.2 Go OS/Arch: linux/amd64 此外,我们使用 3 个 etcd …

    物理机 GCE n1-highcpu-2 机器类型 1 个专用本地 SSD,挂载于 /var/lib/etcd 1 个专用慢速磁盘,用于操作系统 1.8 GB 内存 2 个 CPU etcd 集群 3 etcd 2.2.0-rc 成员,每个成员运行在单台机器上。 详细版本: etcd Version: 2.2.0-alpha.1+git Git SHA: 59a5a7e Go Version: go1.4.2 Go OS/Arch: linux/amd64 此外,我们使用 3 个 etcd …

  • etcd v2.2.0-rc 内存基准测试

    发布于 基准测试

    参考

    物理机 GCE n1-standard-2 机器类型 1 个专用本地 SSD,挂载于 /var/lib/etcd 1 个专用慢速磁盘,用于操作系统 7.5 GB 内存 2 个 CPU etcd etcd Version: 2.2.0-rc.0+git Git SHA: 103cb5c Go Version: go1.5 Go OS/Arch: linux/amd64 测试 启动一个由 3 个成员组成的 etcd 集群,每个成员使用 2 个核心。 键名的长度始终为 64 字节,这是一个平均键字节数 …

    物理机 GCE n1-standard-2 机器类型 1 个专用本地 SSD,挂载于 /var/lib/etcd 1 个专用慢速磁盘,用于操作系统 7.5 GB 内存 2 个 CPU etcd etcd Version: 2.2.0-rc.0+git Git SHA: 103cb5c Go Version: go1.5 Go OS/Arch: linux/amd64 测试 启动一个由 3 个成员组成的 etcd 集群,每个成员使用 2 个核心。 键名的长度始终为 64 字节,这是一个平均键字节数 …

  • etcd v3 基准测试

    发布于 基准测试

    参考

    物理机 GCE n1-highcpu-2 机器类型 1x 专用本地 SSD,挂载于 /var/lib/etcd 1x 专用慢速磁盘,用于操作系统 1.8 GB 内存 2x CPU etcd 版本 2.2.0 etcd 集群 1 以 v3 演示模式运行的 etcd 成员 测试 使用 etcd v3 基准测试工具 。 性能 读取单一键 键大小(字节) 客户端数量 读取 QPS 第 90 百分位延迟(毫秒) 256 1 2716 0.4 256 64 16623 6.1 256 256 16622 …

    物理机 GCE n1-highcpu-2 机器类型 1x 专用本地 SSD,挂载于 /var/lib/etcd 1x 专用慢速磁盘,用于操作系统 1.8 GB 内存 2x CPU etcd 版本 2.2.0 etcd 集群 1 以 v3 演示模式运行的 etcd 成员 测试 使用 etcd v3 基准测试工具 。 性能 读取单一键 键大小(字节) 客户端数量 读取 QPS 第 90 百分位延迟(毫秒) 256 1 2716 0.4 256 64 16623 6.1 256 256 16622 …

  • 监听内存使用量基准测试

    发布于 基准测试

    参考

    说明 监听功能正处于积极开发中,其内存使用量可能随开发进展而变化。我们预计其内存使用量不会显著超过以下所述数值。 etcd 的一个核心目标是支持大量客户端执行海量监听操作。etcd 旨在支持 O(10k) 个客户端、O(100K) 个监听流(每个客户端约 O(10) 个监听流)以及 O(10M) 个总监听操作(每个监听流约 O(100) 个监听)。每个单独监听操作所消耗的内存占 etcd 整体内存使用量的最大部分,因此成为当前及未来优化的重点。 etcd 监听功能的三个相关组件会占用物理内存: …

    说明 监听功能正处于积极开发中,其内存使用量可能随开发进展而变化。我们预计其内存使用量不会显著超过以下所述数值。 etcd 的一个核心目标是支持大量客户端执行海量监听操作。etcd 旨在支持 O(10k) 个客户端、O(100K) 个监听流(每个客户端约 O(10) 个监听流)以及 O(10M) 个总监听操作(每个监听流约 O(100) 个监听)。每个单独监听操作所消耗的内存占 etcd 整体内存使用量的最大部分,因此成为当前及未来优化的重点。 etcd 监听功能的三个相关组件会占用物理内存: …

  • 存储内存使用量基准测试

    发布于 基准测试

    参考

    etcd 存储的两个组件会占用物理内存。etcd 进程分配了一个 内存索引,用于加速键的查找。进程的 页缓存 由操作系统管理,用于存储从磁盘读取的最近访问数据,以便快速重用。 内存索引将所有键以 B 树 数据结构的形式存储,并附带指向磁盘数据(即值)的指针。B 树中的每个键可能包含多个指针,指向其值的不同版本。因此,内存索引的理论内存消耗可近似表示为以下公式: N * (c1 + avg_key_size) + N * (avg_versions_of_key) * (c2 + …

    etcd 存储的两个组件会占用物理内存。etcd 进程分配了一个 内存索引,用于加速键的查找。进程的 页缓存 由操作系统管理,用于存储从磁盘读取的最近访问数据,以便快速重用。 内存索引将所有键以 B 树 数据结构的形式存储,并附带指向磁盘数据(即值)的指针。B 树中的每个键可能包含多个指针,指向其值的不同版本。因此,内存索引的理论内存消耗可近似表示为以下公式: N * (c1 + avg_key_size) + N * (avg_versions_of_key) * (c2 + …

  • 基准测试

    发布于 基准测试

    参考

    基准测试 etcd 性能基准测试结果将定期发布,并在以下各版本中持续追踪: etcd v2.1.0-alpha etcd v2.2.0-rc etcd v3 演示 内存使用基准 它记录了在不同场景下的预期内存使用情况。 etcd v2.2.0-rc

    基准测试 etcd 性能基准测试结果将定期发布,并在以下各版本中持续追踪: etcd v2.1.0-alpha etcd v2.2.0-rc etcd v3 演示 内存使用基准 它记录了在不同场景下的预期内存使用情况。 etcd v2.2.0-rc

  • 支持的平台

    发布于 操作指南

    参考

    支持层级 etcd 可在不同平台上运行,但其提供的保证取决于平台的支持级别: Tier 1:由 [etcd 维护者][] 完全支持;etcd 保证通过所有测试,包括功能测试和健壮性测试。 Tier 2:etcd 保证通过集成测试和端到端测试,但不保证通过功能测试或健壮性测试。 Tier 3:etcd 保证可构建,可能仅进行轻度测试(或未测试),因此应视为 不稳定。 当前支持 下表列出了当前支持的平台及其对应的 etcd 支持级别: 架构 操作系统 支持层级 维护者 AMD64 Linux 1 …

    支持层级 etcd 可在不同平台上运行,但其提供的保证取决于平台的支持级别: Tier 1:由 [etcd 维护者][] 完全支持;etcd 保证通过所有测试,包括功能测试和健壮性测试。 Tier 2:etcd 保证通过集成测试和端到端测试,但不保证通过功能测试或健壮性测试。 Tier 3:etcd 保证可构建,可能仅进行轻度测试(或未测试),因此应视为 不稳定。 当前支持 下表列出了当前支持的平台及其对应的 etcd 支持级别: 架构 操作系统 支持层级 维护者 AMD64 Linux 1 …

  • 硬件推荐

    发布于 操作指南

    参考

    etcd 在资源有限的开发或测试环境中通常运行良好;在笔记本电脑或廉价云主机上开发 etcd 是常见做法。然而,在生产环境中运行 etcd 集群时,遵循一些硬件建议有助于实现有效的系统管理。这些建议并非硬性规定,而是构建稳健生产部署的良好起点。和往常一样,部署前应使用模拟工作负载进行测试。 处理器核心 极少有 etcd 部署需要大量 CPU 资源。典型集群只需两到四个核心即可平稳运行。 高负载的 etcd 部署(例如每秒服务数千个客户端或数万个请求)通常受 CPU 限制,因为 etcd 可以从内 …

    etcd 在资源有限的开发或测试环境中通常运行良好;在笔记本电脑或廉价云主机上开发 etcd 是常见做法。然而,在生产环境中运行 etcd 集群时,遵循一些硬件建议有助于实现有效的系统管理。这些建议并非硬性规定,而是构建稳健生产部署的良好起点。和往常一样,部署前应使用模拟工作负载进行测试。 处理器核心 极少有 etcd 部署需要大量 CPU 资源。典型集群只需两到四个核心即可平稳运行。 高负载的 etcd 部署(例如每秒服务数千个客户端或数万个请求)通常受 CPU 限制,因为 etcd 可以从内 …

  • 配置选项

    发布于 操作指南

    参考

    可以通过以下方式配置 etcd: 命令行标志 环境变量:每个标志都有一个对应的环境变量,其名称与标志相同,但前缀为 ETCD_,并以全大写和 [蛇形命名法][] 格式化。例如,--some-flag 对应 ETCD_SOME_FLAG。 配置文件 警告 请注意:如果混合使用配置选项,则以下规则适用。 命令行标志优先于环境变量。 如果提供了 配置文件,则所有命令行标志和环境变量均被 忽略。 命令行标志 以下以 --flag-name DEFAULT_VALUE 格式展示命令行标志。 以下提供的标志 …

    可以通过以下方式配置 etcd: 命令行标志 环境变量:每个标志都有一个对应的环境变量,其名称与标志相同,但前缀为 ETCD_,并以全大写和 [蛇形命名法][] 格式化。例如,--some-flag 对应 ETCD_SOME_FLAG。 配置文件 警告 请注意:如果混合使用配置选项,则以下规则适用。 命令行标志优先于环境变量。 如果提供了 配置文件,则所有命令行标志和环境变量均被 忽略。 命令行标志 以下以 --flag-name DEFAULT_VALUE 格式展示命令行标志。 以下提供的标志 …

  • API 参考:并发

    发布于 开发指南

    参考

    本文 API 参考由命名的 .proto 文件自动生成。 服务 Lock (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto) 锁服务将客户端锁功能以 gRPC 接口的形式暴露。 方法 请求类型 响应类型 描述 Lock LockRequest LockResponse Lock 在指定名称的锁上获取分布式共享锁。成功时,将返回一个唯一键,该键在调用方持有锁期间持续存在。该键可与事务配合使用,以确保对 etcd 的更新仅在持有锁所有权时发生。锁 …

    本文 API 参考由命名的 .proto 文件自动生成。 服务 Lock (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto) 锁服务将客户端锁功能以 gRPC 接口的形式暴露。 方法 请求类型 响应类型 描述 Lock LockRequest LockResponse Lock 在指定名称的锁上获取分布式共享锁。成功时,将返回一个唯一键,该键在调用方持有锁期间持续存在。该键可与事务配合使用,以确保对 etcd 的更新仅在持有锁所有权时发生。锁 …

  • API 参考

    发布于 开发指南

    参考

    本文 API 参考由命名的 .proto 文件自动生成。 服务 Auth (api/etcdserverpb/rpc.proto) 方法 请求类型 响应类型 描述 AuthEnable AuthEnableRequest AuthEnableResponse AuthEnable 启用身份认证。 AuthDisable AuthDisableRequest AuthDisableResponse AuthDisable 禁用身份认证。 AuthStatus AuthStatusRequest …

    本文 API 参考由命名的 .proto 文件自动生成。 服务 Auth (api/etcdserverpb/rpc.proto) 方法 请求类型 响应类型 描述 AuthEnable AuthEnableRequest AuthEnableResponse AuthEnable 启用身份认证。 AuthDisable AuthDisableRequest AuthDisableResponse AuthDisable 禁用身份认证。 AuthStatus AuthStatusRequest …

  • etcd 功能

    发布于 开发指南

    参考

    本文概述了 etcd 的各项功能,旨在帮助用户更好地理解这些功能及其相关弃用流程。若想了解 etcd 功能的开发方式,请参阅 开发指南 。 etcd 功能分为三个阶段:实验性、稳定和不安全。可通过运行 etcd --help 获取功能列表。 实验性 为获取早期反馈,任何新功能通常以实验性功能的形式添加。可通过标志名称识别实验性功能,其名称应以 --experimental 为前缀。使用实验性功能时,请注意以下事项: 由于缺乏用户测试,该功能可能存在缺陷。启用该功能可能无法按预期工作。 默认情况下 …

    本文概述了 etcd 的各项功能,旨在帮助用户更好地理解这些功能及其相关弃用流程。若想了解 etcd 功能的开发方式,请参阅 开发指南 。 etcd 功能分为三个阶段:实验性、稳定和不安全。可通过运行 etcd --help 获取功能列表。 实验性 为获取早期反馈,任何新功能通常以实验性功能的形式添加。可通过标志名称识别实验性功能,其名称应以 --experimental 为前缀。使用实验性功能时,请注意以下事项: 由于缺乏用户测试,该功能可能存在缺陷。启用该功能可能无法按预期工作。 默认情况下 …

  • 系统限制

    发布于 开发指南

    参考

    请求大小限制 etcd 专为处理典型的元数据类小规模键值对而设计。虽然较大请求也能正常工作,但可能增加其他请求的延迟。默认情况下,任何请求的最大大小为 1.5 MiB。此限制可通过 etcd 服务器的 --max-request-bytes 标志进行配置。 存储容量限制 默认存储大小限制为 2 GiB,可通过 --quota-backend-bytes 标志进行配置。在常规环境中,建议最大大小为 8 GiB,若配置值超过此限制,etcd 在启动时会发出警告。

    请求大小限制 etcd 专为处理典型的元数据类小规模键值对而设计。虽然较大请求也能正常工作,但可能增加其他请求的延迟。默认情况下,任何请求的最大大小为 1.5 MiB。此限制可通过 etcd 服务器的 --max-request-bytes 标志进行配置。 存储容量限制 默认存储大小限制为 2 GiB,可通过 --quota-backend-bytes 标志进行配置。在常规环境中,建议最大大小为 8 GiB,若配置值超过此限制,etcd 在启动时会发出警告。

  • 术语表

    发布于 学习

    参考

    本文定义了 etcd 文档、命令行和源代码中使用的各种术语。 告警 当集群需要操作员干预以保持可靠性时,etcd 服务器会触发告警。 身份认证 身份认证用于管理用户对 etcd 资源的访问权限。 客户端 客户端连接到 etcd 集群,以发出服务请求,例如获取键值对、写入数据或监听更新。 集群 集群由多个成员组成。 每个成员中的节点遵循 Raft 共识协议来复制日志。集群从成员接收提案,进行提交,并应用到本地存储。 压缩 压缩会丢弃指定修订版本之前的所有 etcd 事件历史记录和已被覆盖的键。该操 …

    本文定义了 etcd 文档、命令行和源代码中使用的各种术语。 告警 当集群需要操作员干预以保持可靠性时,etcd 服务器会触发告警。 身份认证 身份认证用于管理用户对 etcd 资源的访问权限。 客户端 客户端连接到 etcd 集群,以发出服务请求,例如获取键值对、写入数据或监听更新。 集群 集群由多个成员组成。 每个成员中的节点遵循 Raft 共识协议来复制日志。集群从成员接收提案,进行提交,并应用到本地存储。 压缩 压缩会丢弃指定修订版本之前的所有 etcd 事件历史记录和已被覆盖的键。该操 …

  • Go 模块

    发布于 内部架构

    参考

    etcd 项目(自版本 3.5 起)采用多个 golang 模块 ,托管于 单个仓库 中。 以下是各个模块: go.etcd.io/etcd/api/v3 - 包含 API 定义 (如 protos 与 proto 生成的库),定义了 etcd 客户端与服务器之间的通信协议。 go.etcd.io/etcd/pkg/v3 - etcd 使用的通用工具包集合,不针对 etcd 本身。仅当某个包未来可能被移出至独立仓库时,才应归入此处。请避免在此处添加依赖关系复杂的代码,因为这些依赖会自动成为客户端 …

    etcd 项目(自版本 3.5 起)采用多个 golang 模块 ,托管于 单个仓库 中。 以下是各个模块: go.etcd.io/etcd/api/v3 - 包含 API 定义 (如 protos 与 proto 生成的库),定义了 etcd 客户端与服务器之间的通信协议。 go.etcd.io/etcd/pkg/v3 - etcd 使用的通用工具包集合,不针对 etcd 本身。仅当某个包未来可能被移出至独立仓库时,才应归入此处。请避免在此处添加依赖关系复杂的代码,因为这些依赖会自动成为客户端 …

  • 日志记录约定

    发布于 内部架构

    参考

    etcd 使用 zap 库记录应用程序输出,输出按 级别 进行分类。日志消息的级别依据以下约定确定: DebugLevel 日志通常非常庞大,通常在生产环境中禁用。 示例: 向远程对等成员发送一条普通消息 将日志条目写入磁盘 InfoLevel 为默认的日志优先级。 示例: 启动配置 开始创建快照 向集群中添加新节点 向认证子系统中添加新用户 警告级别日志比信息级别日志更为重要,但无需逐条人工审查。 示例: 无法向远程对等成员发送 Raft 消息 在配置的选举超时时间内未收到心跳消息 …

    etcd 使用 zap 库记录应用程序输出,输出按 级别 进行分类。日志消息的级别依据以下约定确定: DebugLevel 日志通常非常庞大,通常在生产环境中禁用。 示例: 向远程对等成员发送一条普通消息 将日志条目写入磁盘 InfoLevel 为默认的日志优先级。 示例: 启动配置 开始创建快照 向集群中添加新节点 向认证子系统中添加新用户 警告级别日志比信息级别日志更为重要,但无需逐条人工审查。 示例: 无法向远程对等成员发送 Raft 消息 在配置的选举超时时间内未收到心跳消息 …

  • 发现服务协议

    发布于 内部架构

    参考

    发现服务协议有助于新 etcd 成员在集群引导阶段,通过共享的发现令牌和端点列表,发现集群中的所有其他成员。 发现服务协议仅在集群引导阶段使用,不可用于运行时重配置或集群监控。 该协议使用新的发现令牌来引导一个唯一的 etcd 集群。请注意,一个发现令牌只能代表一个 etcd 集群。只要该令牌的发现协议已启动,即使中途失败,也不得用于引导另一个 etcd 集群。 本文其余部分将通过示例介绍发现过程,这些示例对应自托管发现集群。 请注意,本文仅适用于 v3 发现机制。有关 v2 发现 的更多详情, …

    发现服务协议有助于新 etcd 成员在集群引导阶段,通过共享的发现令牌和端点列表,发现集群中的所有其他成员。 发现服务协议仅在集群引导阶段使用,不可用于运行时重配置或集群监控。 该协议使用新的发现令牌来引导一个唯一的 etcd 集群。请注意,一个发现令牌只能代表一个 etcd 集群。只要该令牌的发现协议已启动,即使中途失败,也不得用于引导另一个 etcd 集群。 本文其余部分将通过示例介绍发现过程,这些示例对应自托管发现集群。 请注意,本文仅适用于 v3 发现机制。有关 v2 发现 的更多详情, …

  • 发现服务协议

    发布于 开发指南

    参考

    发现服务协议有助于新 etcd 成员在集群引导阶段通过共享的发现 URL 发现集群中的所有其他成员。 发现服务协议仅在集群引导阶段使用,不可用于运行时重配置或集群监控。 该协议使用新的发现令牌来引导一个唯一的 etcd 集群。请注意,一个发现令牌只能代表一个 etcd 集群。只要该令牌的发现协议已启动,即使中途失败,也不得用于引导另一个 etcd 集群。 本文其余部分将通过示例介绍发现过程,这些示例对应自托管发现集群。公共发现服务 discovery.etcd.io 的工作方式相同,但增加了一层 …

    发现服务协议有助于新 etcd 成员在集群引导阶段通过共享的发现 URL 发现集群中的所有其他成员。 发现服务协议仅在集群引导阶段使用,不可用于运行时重配置或集群监控。 该协议使用新的发现令牌来引导一个唯一的 etcd 集群。请注意,一个发现令牌只能代表一个 etcd 集群。只要该令牌的发现协议已启动,即使中途失败,也不得用于引导另一个 etcd 集群。 本文其余部分将通过示例介绍发现过程,这些示例对应自托管发现集群。公共发现服务 discovery.etcd.io 的工作方式相同,但增加了一层 …

  • 指标

    发布于 指标

    参考

    etcd 使用 Prometheus 进行指标报告。指标可用于实时监控和调试。etcd 不会持久化其指标;若成员重启,指标将被重置。 查看可用指标最简单的方法是使用 cURL 访问指标端点 /metrics。其格式详见 Prometheus 文档 。 请按照 Prometheus 入门指南 启动 Prometheus 服务器,以收集 etcd 指标。 指标命名遵循建议的 Prometheus 最佳实践 。指标名称以 etcd 或 etcd_debugging 作为命名空间前缀,并可包含子系统前缀 …

    etcd 使用 Prometheus 进行指标报告。指标可用于实时监控和调试。etcd 不会持久化其指标;若成员重启,指标将被重置。 查看可用指标最简单的方法是使用 cURL 访问指标端点 /metrics。其格式详见 Prometheus 文档 。 请按照 Prometheus 入门指南 启动 Prometheus 服务器,以收集 etcd 指标。 指标命名遵循建议的 Prometheus 最佳实践 。指标名称以 etcd 或 etcd_debugging 作为命名空间前缀,并可包含子系统前缀 …

  • 库和工具

    发布于 etcd 3.7

    参考

    请注意,以下第三方库和工具未托管在 https://github.com/etcd-io 下,也未经 etcd 团队测试或维护。使用前应自行阅读相关资料并评估其可靠性。 工具 etcdctl - etcd 的命令行客户端 etcd-dump - 用于导出/恢复 etcd 的命令行工具 etcd-fs - etcd 的 FUSE 文件系统 etcddir - 实时同步 etcd 与本地目录的工具,支持 Windows 和 Linux etcd-browser - 基于 AngularJS 的 …

    请注意,以下第三方库和工具未托管在 https://github.com/etcd-io 下,也未经 etcd 团队测试或维护。使用前应自行阅读相关资料并评估其可靠性。 工具 etcdctl - etcd 的命令行客户端 etcd-dump - 用于导出/恢复 etcd 的命令行工具 etcd-fs - etcd 的 FUSE 文件系统 etcddir - 实时同步 etcd 与本地目录的工具,支持 Windows 和 Linux etcd-browser - 基于 AngularJS 的 …

  • 常见问题

    发布于 etcd 3.7

    参考

    etcd,通用 etcd 是什么? etcd 是一个一致性的分布式键值存储。主要用于分布式系统中的独立协调服务,专为存储可完全容纳在内存中的少量数据而设计。 如何发音 etcd? etcd 读作 /ˈɛtsiːdiː/,意为“分布式 etc 目录”。 客户端是否需要向 etcd 领导者发送请求? Raft 采用领导者机制;所有需要集群共识的客户端请求均由领导者处理。然而,客户端无需知晓哪个节点是领导者。任何发送至跟随者的需共识请求将自动转发至领导者。无需共识的请求(例如序列化读取)可由集群任意成 …

    etcd,通用 etcd 是什么? etcd 是一个一致性的分布式键值存储。主要用于分布式系统中的独立协调服务,专为存储可完全容纳在内存中的少量数据而设计。 如何发音 etcd? etcd 读作 /ˈɛtsiːdiː/,意为“分布式 etc 目录”。 客户端是否需要向 etcd 领导者发送请求? Raft 采用领导者机制;所有需要集群共识的客户端请求均由领导者处理。然而,客户端无需知晓哪个节点是领导者。任何发送至跟随者的需共识请求将自动转发至领导者。无需共识的请求(例如序列化读取)可由集群任意成 …

  • 功能门控

    发布于 etcd 3.7

    参考

    本文概述了管理员可在 etcd 中指定的各种功能门控。 请参阅 feature stages 了解功能各阶段的说明。 概述 功能门控是一组描述 etcd 特性的 key=value 键值对。 可使用 etcd 的 --feature-gates 命令行标志来开启或关闭这些特性。 etcd 允许你启用或禁用一组功能门控。 使用 -h 标志查看全部功能门控列表。 要设置功能门控,请使用 --feature-gates 标志,并在命令行中指定功能对的列表: …

    本文概述了管理员可在 etcd 中指定的各种功能门控。 请参阅 feature stages 了解功能各阶段的说明。 概述 功能门控是一组描述 etcd 特性的 key=value 键值对。 可使用 etcd 的 --feature-gates 命令行标志来开启或关闭这些特性。 etcd 允许你启用或禁用一组功能门控。 使用 -h 标志查看全部功能门控列表。 要设置功能门控,请使用 --feature-gates 标志,并在命令行中指定功能对的列表: …

  • 12. 其他配置段

    发布于 HAProxy

    参考

    以下所述段落使用频率较低,通常仅支持少量参数。它们之间不存在隐式关联。所有段均通过单一关键字启动。在 “global” 段之前禁止出现任何此类段。部分段的支持可能受构建选项限制(例如与 SSL 相关的任何功能)。 12.1. 跟踪 为调试目的,可激活 HAProxy 子系统上的追踪功能。该功能将输出特定子系统的调试消息,是诊断问题的强力工具。可通过 CLI 动态配置追踪。也可在配置文件中通过专用 “traces” 段预先定义部分设置。有关追踪的更多详情,请参阅管理指南。该功能属于开发者工具,适 …

    以下所述段落使用频率较低,通常仅支持少量参数。它们之间不存在隐式关联。所有段均通过单一关键字启动。在 “global” 段之前禁止出现任何此类段。部分段的支持可能受构建选项限制(例如与 SSL 相关的任何功能)。 12.1. 跟踪 为调试目的,可激活 HAProxy 子系统上的追踪功能。该功能将输出特定子系统的调试消息,是诊断问题的强力工具。可通过 CLI 动态配置追踪。也可在配置文件中通过专用 “traces” 段预先定义部分设置。有关追踪的更多详情,请参阅管理指南。该功能属于开发者工具,适 …

  • 11. 粘性表与对等节点

    发布于 HAProxy

    参考

    在 HAProxy 中,stick-table 是一种机制,允许将一定数量的信息和指标与特定类型的键关联,并在最后一次更新后持续一定时间。这可视为表格中的一行多列数据,其中行号由键值决定,各列代表不同的衡量标准。 会话粘性表最初设计用于存储客户端-服务器会话粘性信息,以维持两者之间的持久会话。客户端连接或发送请求时,将通过一个标识符(源地址、Cookie 或 URL 参数)进行识别,并将选定的服务器与该标识符关联存储在粘性表中,持续时间为可配置时长,以便来自同一客户端的后续访问可自动路由至同一 …

    在 HAProxy 中,stick-table 是一种机制,允许将一定数量的信息和指标与特定类型的键关联,并在最后一次更新后持续一定时间。这可视为表格中的一行多列数据,其中行号由键值决定,各列代表不同的衡量标准。 会话粘性表最初设计用于存储客户端-服务器会话粘性信息,以维持两者之间的持久会话。客户端连接或发送请求时,将通过一个标识符(源地址、Cookie 或 URL 参数)进行识别,并将选定的服务器与该标识符关联存储在粘性表中,持续时间为可配置时长,以便来自同一客户端的后续访问可自动路由至同一 …

  • 10. FastCGI 应用程序

    发布于 HAProxy

    参考

    HAProxy 可以向 Responder FastCGI 应用发送 HTTP 请求。此功能自 HAProxy 2.1 版本起引入。为此,必须将服务器配置为使用 FastCGI 协议(在服务器行中使用关键字 “proto fcgi”),且后端管理这些服务器时,必须配置并使用一个 FastCGI 应用(在代理段中使用关键字 “use-fcgi-app”)。可以定义多个 FastCGI 应用,但每个后端在同一时间只能使用其中一个。 HAProxy 实现了 FastCGI 规范中针对 …

    HAProxy 可以向 Responder FastCGI 应用发送 HTTP 请求。此功能自 HAProxy 2.1 版本起引入。为此,必须将服务器配置为使用 FastCGI 协议(在服务器行中使用关键字 “proto fcgi”),且后端管理这些服务器时,必须配置并使用一个 FastCGI 应用(在代理段中使用关键字 “use-fcgi-app”)。可以定义多个 FastCGI 应用,但每个后端在同一时间只能使用其中一个。 HAProxy 实现了 FastCGI 规范中针对 …

  • 版本命令(version)

    发布于 命令参考

    参考

    显示已安装的 pgBackRest 版本。 命令选项 输出格式选项(--output) 输出类型。 支持以下输出类型: text — 以文本形式显示已安装的 pgBackRest 版本。 num — 以整数形式显示已安装的 pgBackRest 版本。 default: text example: --output=num

    显示已安装的 pgBackRest 版本。 命令选项 输出格式选项(--output) 输出类型。 支持以下输出类型: text — 以文本形式显示已安装的 pgBackRest 版本。 num — 以整数形式显示已安装的 pgBackRest 版本。 default: text example: --output=num

  • 9. 支持的过滤器

    发布于 HAProxy

    参考

    以下是官方支持的过滤器及其所接受的参数列表。根据编译选项的不同,部分过滤器可能不可用。可用过滤器的列表将在 HAProxy -vv. 中报告。 另请参见:“过滤器” 9.1. 跟踪 过滤器 trace [name <name>] [random-forwarding] [max-fwd <max>] [hexdump] 参数: <name> is an arbitrary name that will be reported in messages. If no name is …

    以下是官方支持的过滤器及其所接受的参数列表。根据编译选项的不同,部分过滤器可能不可用。可用过滤器的列表将在 HAProxy -vv. 中报告。 另请参见:“过滤器” 9.1. 跟踪 过滤器 trace [name <name>] [random-forwarding] [max-fwd <max>] [hexdump] 参数: <name> is an arbitrary name that will be reported in messages. If no name is …

  • 版本历史

    发布于 Patroni

    参考

    Version 4.1.5 发布于 2026-08-12 兼容性改进 兼容 PostgreSQL 14.24、15.19、16.15、17.11 与 18.6(Alexander Kukushkin) 添加用于限制逻辑解码输出插件的新 GUC output_plugin_libraries。 改进 将 REST API 连接重置的日志级别从 WARNING 调整为 DEBUG(Kyle McLaren) 屏蔽常见的“客户端在写入中途离开”类日志,同时不影响真正的非连接类错误处理。 错误修复 修 …

    Version 4.1.5 发布于 2026-08-12 兼容性改进 兼容 PostgreSQL 14.24、15.19、16.15、17.11 与 18.6(Alexander Kukushkin) 添加用于限制逻辑解码输出插件的新 GUC output_plugin_libraries。 改进 将 REST API 连接重置的日志级别从 WARNING 调整为 DEBUG(Kyle McLaren) 屏蔽常见的“客户端在写入中途离开”类日志,同时不影响真正的非连接类错误处理。 错误修复 修 …

  • 验证命令(verify)

    发布于 命令参考

    参考

    verify 用于验证仓库中的备份和归档是否有效。 命令选项 输出格式选项(--output) 输出类型。 支持以下输出类型: none — 不输出验证信息。 text — 将验证信息输出到标准输出。 default: none example: --output=text 备份集选项(--set) 要验证的备份集。 验证与指定备份集关联的所有数据库文件和归档文件。 example: --set=20150131-153358F_20150131-153401I 详细输出选项 …

    verify 用于验证仓库中的备份和归档是否有效。 命令选项 输出格式选项(--output) 输出类型。 支持以下输出类型: none — 不输出验证信息。 text — 将验证信息输出到标准输出。 default: none example: --output=text 备份集选项(--set) 要验证的备份集。 验证与指定备份集关联的所有数据库文件和归档文件。 example: --set=20150131-153358F_20150131-153401I 详细输出选项 …

  • 常见问题

    发布于 Patroni

    参考

    本节收录了关于 Patroni 最常见问题的解答,各子节聚焦于不同类别的问题。 希望这些内容能帮你解答大多数疑问。如果仍有疑问或遇到意外问题,请参阅 chatting 和 reporting_bugs ,了解如何获取帮助或提交问题报告。 与其他高可用方案的比较 为什么 Patroni 需要独立的 DCS 节点集群,而 repmgr 等其他方案不需要? 实现高可用方案有多种不同方式,各有优缺点。 repmgr 等软件通过节点间通信来决定何时采取行动。 而 Patroni 则依赖存储在 DCS 中 …

    本节收录了关于 Patroni 最常见问题的解答,各子节聚焦于不同类别的问题。 希望这些内容能帮你解答大多数疑问。如果仍有疑问或遇到意外问题,请参阅 chatting 和 reporting_bugs ,了解如何获取帮助或提交问题报告。 与其他高可用方案的比较 为什么 Patroni 需要独立的 DCS 节点集群,而 repmgr 等其他方案不需要? 实现高可用方案有多种不同方式,各有优缺点。 repmgr 等软件通过节点间通信来决定何时采取行动。 而 Patroni 则依赖存储在 DCS 中 …

  • 停止命令(stop)

    发布于 命令参考

    参考

    禁止任何新的 pgBackRest 进程运行。默认情况下,正在运行的进程将被允许正常完成。使用 --force 选项可强制终止正在运行的进程。 stop 命令执行完成后,此后尝试运行的 pgBackRest 进程将返回错误。详情与示例请参见 启动与停止 。 命令选项 强制停止选项(--force) 强制停止所有 pgBackRest 进程。 此选项会向所有正在运行的 pgBackRest 进程发送 TERM 信号,实现立即的优雅关闭。注意,这也会关闭由其他系统发起、但在当前系统上运行的远程进程。 …

    禁止任何新的 pgBackRest 进程运行。默认情况下,正在运行的进程将被允许正常完成。使用 --force 选项可强制终止正在运行的进程。 stop 命令执行完成后,此后尝试运行的 pgBackRest 进程将返回错误。详情与示例请参见 启动与停止 。 命令选项 强制停止选项(--force) 强制停止所有 pgBackRest 进程。 此选项会向所有正在运行的 pgBackRest 进程发送 TERM 信号,实现立即的优雅关闭。注意,这也会关闭由其他系统发起、但在当前系统上运行的远程进程。 …

  • 7. ACL 与样本提取

    发布于 HAProxy

    参考

    HAProxy 可从请求或响应流、客户端或服务器信息、表格、环境信息等来源提取数据。提取此类数据的动作称为获取样本。获取后,这些样本可用于多种用途,例如作为粘性表的键,但最常见的用法是将其与称为模式的预定义常量数据进行匹配。 7.1. ACL 基础 访问控制列表(ACL)用于声明一种命名的匹配方法,以将任意信息与预先定义的模式列表进行比较。ACL 可视为大多数编程语言中函数的实际等价物,其声明使得该方法可在后续需要时被调用。ACL 的评估结果仅返回匹配或不匹配,这与许多编程语言中的布尔值类似。 …

    HAProxy 可从请求或响应流、客户端或服务器信息、表格、环境信息等来源提取数据。提取此类数据的动作称为获取样本。获取后,这些样本可用于多种用途,例如作为粘性表的键,但最常见的用法是将其与称为模式的预定义常量数据进行匹配。 7.1. ACL 基础 访问控制列表(ACL)用于声明一种命名的匹配方法,以将任意信息与预先定义的模式列表进行比较。ACL 可视为大多数编程语言中函数的实际等价物,其声明使得该方法可在后续需要时被调用。ACL 的评估结果仅返回匹配或不匹配,这与许多编程语言中的布尔值类似。 …

  • 启动命令(start)

    发布于 命令参考

    参考

    如果 pgBackRest 进程之前已通过 stop 命令停止,可使用 start 命令重新允许它们运行。注意,此命令不会立即启动任何 pgBackRest 进程,只是解除运行限制。详情与示例请参见 启动与停止 。 通用选项 允许以 root 用户运行选项(--allow-root) 允许命令以 root 用户运行。 默认情况下,仅 restore 命令可以由 root 用户运行,因为该命令会谨慎管理文件所有权。以 root 运行其他命令可能创建由 root 所有的文件(例如仓库中的文件 …

    如果 pgBackRest 进程之前已通过 stop 命令停止,可使用 start 命令重新允许它们运行。注意,此命令不会立即启动任何 pgBackRest 进程,只是解除运行限制。详情与示例请参见 启动与停止 。 通用选项 允许以 root 用户运行选项(--allow-root) 允许命令以 root 用户运行。 默认情况下,仅 restore 命令可以由 root 用户运行,因为该命令会谨慎管理文件所有权。以 root 运行其他命令可能创建由 root 所有的文件(例如仓库中的文件 …

  • 6. 缓存

    发布于 HAProxy

    参考

    HAProxy 提供一个缓存,专为小型对象(如 favicon、CSS 等)的缓存而设计。 这是一个极简且低维护成本的缓存,运行于内存中。 缓存基于所有线程共享的内存区域,并划分为 1kB 的块。 若某个对象不再被使用,即使未过期,也可被删除以腾出空间存储新对象。当尝试分配新对象时,将优先删除最旧的对象。 缓存使用主机头和 URI 的哈希值作为键。 可通过 Unix 套接字命令 “show cache” 查看缓存状态,详见管理指南 第 9.3 节 “Unix 套接字命令”。 当缓存直接提供对象 …

    HAProxy 提供一个缓存,专为小型对象(如 favicon、CSS 等)的缓存而设计。 这是一个极简且低维护成本的缓存,运行于内存中。 缓存基于所有线程共享的内存区域,并划分为 1kB 的块。 若某个对象不再被使用,即使未过期,也可被删除以腾出空间存储新对象。当尝试分配新对象时,将优先删除最旧的对象。 缓存使用主机头和 URI 的哈希值作为键。 可通过 Unix 套接字命令 “show cache” 查看缓存状态,详见管理指南 第 9.3 节 “Unix 套接字命令”。 当缓存直接提供对象 …

  • Stanza 升级命令(stanza-upgrade)

    发布于 命令参考

    参考

    将 PostgreSQL 升级到新的主版本后,必须立即将所有 pgBackRest 配置中的 pg-path 更新为新的数据库位置,然后运行 stanza-upgrade 命令。若主机上配置了多个仓库,每个仓库都会执行 stanza 升级。若数据库处于离线状态,请使用 --no-online 选项。 命令选项 在线选项(--online) 在线更新集群。 指定 --no-online 可阻止 pgBackRest 在升级 stanza 时连接 PostgreSQL。 default: y …

    将 PostgreSQL 升级到新的主版本后,必须立即将所有 pgBackRest 配置中的 pg-path 更新为新的数据库位置,然后运行 stanza-upgrade 命令。若主机上配置了多个仓库,每个仓库都会执行 stanza 升级。若数据库处于离线状态,请使用 --no-online 选项。 命令选项 在线选项(--online) 在线更新集群。 指定 --no-online 可阻止 pgBackRest 在升级 stanza 时连接 PostgreSQL。 default: y …

  • 5. 绑定与服务器选项

    发布于 HAProxy

    参考

    “bind”、“server” 和 “default-server” 关键字支持多种设置,具体取决于构建选项以及 HAProxy 所基于的系统。这些设置通常由一个单词组成,有时后接一个值,与 “bind” 或 “server” 语句位于同一行。所有这些选项均在本节中描述。 5.1. 绑定选项 “bind” 关键字支持若干设置,这些设置均作为参数在同一行中传递。参数的排列顺序无关紧要,只要它们出现在绑定地址之后即可。所有这些参数均为可选。部分参数为单个单词(布尔值),而其他参数则需要在其后提供值 …

    “bind”、“server” 和 “default-server” 关键字支持多种设置,具体取决于构建选项以及 HAProxy 所基于的系统。这些设置通常由一个单词组成,有时后接一个值,与 “bind” 或 “server” 语句位于同一行。所有这些选项均在本节中描述。 5.1. 绑定选项 “bind” 关键字支持若干设置,这些设置均作为参数在同一行中传递。参数的排列顺序无关紧要,只要它们出现在绑定地址之后即可。所有这些参数均为可选。部分参数为单个单词(布尔值),而其他参数则需要在其后提供值 …

  • Stanza 删除命令(stanza-delete)

    发布于 命令参考

    参考

    stanza-delete 命令用于删除仓库中与指定 stanza 关联的所有数据。stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称。 警告: 此命令会永久删除指定 stanza 在 pgBackRest 仓库中的所有备份和归档数据,请谨慎使用。 删除 stanza 的步骤如下: 停止与该 stanza 关联的 PostgreSQL 集群(或使用 --force 选项强制删除)。 在执行 stanza-delete 命令的主机上先运行 stop …

    stanza-delete 命令用于删除仓库中与指定 stanza 关联的所有数据。stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称。 警告: 此命令会永久删除指定 stanza 在 pgBackRest 仓库中的所有备份和归档数据,请谨慎使用。 删除 stanza 的步骤如下: 停止与该 stanza 关联的 PostgreSQL 集群(或使用 --force 选项强制删除)。 在执行 stanza-delete 命令的主机上先运行 stop …

  • 4. 代理

    发布于 HAProxy

    参考

    代理配置可位于一组段中: defaults [<name>] [ from <defaults_name> ] frontend <name> [ from <defaults_name> ] backend <name> [ from <defaults_name> ] listen <name> [ from <defaults_name> ] 前端段描述了一组用于接收客户端连接的监听套接字。 后端段描述了一组代理将连接以转发传入连接的服务器。 段 “listen” 定义了一个完整的代理, …

    代理配置可位于一组段中: defaults [<name>] [ from <defaults_name> ] frontend <name> [ from <defaults_name> ] backend <name> [ from <defaults_name> ] listen <name> [ from <defaults_name> ] 前端段描述了一组用于接收客户端连接的监听套接字。 后端段描述了一组代理将连接以转发传入连接的服务器。 段 “listen” 定义了一个完整的代理, …

  • Stanza 创建命令(stanza-create)

    发布于 命令参考

    参考

    stanza-create 命令须在 pgbackrest.conf 中完成 stanza 配置后再执行(stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称)。若配置了多个仓库,stanza-create 会在每个仓库上分别建立 stanza。已创建的 stanza 会被跳过,因此即便新增了仓库,也可以随时安全地重复执行 stanza-create。 更多信息和示例,请参见 创建 Stanza 。 命令选项 在线选项(--online) 在在线集 …

    stanza-create 命令须在 pgbackrest.conf 中完成 stanza 配置后再执行(stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称)。若配置了多个仓库,stanza-create 会在每个仓库上分别建立 stanza。已创建的 stanza 会被跳过,因此即便新增了仓库,也可以随时安全地重复执行 stanza-create。 更多信息和示例,请参见 创建 Stanza 。 命令选项 在线选项(--online) 在在线集 …

  • 3. 全局段

    发布于 HAProxy

    参考

    “global” 段中的参数为进程级配置,通常与操作系统相关。这些参数通常只需一次性设置,一旦配置正确便无需再修改。部分参数在命令行中也有对应选项。 以下关键字在 “global” 段中受支持: 进程管理与安全 51degrees-allow-unmatched 51degrees-cache-size 51degrees-data-file 51degrees-difference 51degrees-drift 51degrees-property-name-list …

    “global” 段中的参数为进程级配置,通常与操作系统相关。这些参数通常只需一次性设置,一旦配置正确便无需再修改。部分参数在命令行中也有对应选项。 以下关键字在 “global” 段中受支持: 进程管理与安全 51degrees-allow-unmatched 51degrees-cache-size 51degrees-data-file 51degrees-difference 51degrees-drift 51degrees-property-name-list …

  • 服务器心跳命令(server-ping)

    发布于 命令参考

    参考

    向 pgBackRest TLS 服务器发送 ping,确认其正在接受连接。此命令仅作为存活性检查,不进行身份验证。 若命令行中未指定主机,则使用 tls-server-host 选项的值。 命令选项 TLS 服务器地址选项(--tls-server-address) TLS 服务器地址。 服务器监听客户端请求的 IP 地址。 default: localhost example: --tls-server-address=* TLS 服务器端口选项(--tls-server-port) TLS …

    向 pgBackRest TLS 服务器发送 ping,确认其正在接受连接。此命令仅作为存活性检查,不进行身份验证。 若命令行中未指定主机,则使用 tls-server-host 选项的值。 命令选项 TLS 服务器地址选项(--tls-server-address) TLS 服务器地址。 服务器监听客户端请求的 IP 地址。 default: localhost example: --tls-server-address=* TLS 服务器端口选项(--tls-server-port) TLS …

  • 2. 配置 HAProxy

    发布于 HAProxy

    参考

    2.1. 配置文件格式 HAProxy 的配置过程涉及三个主要参数来源: 命令行参数,始终具有最高优先级 配置文件,其格式在此处描述 运行进程的环境,若显式引用了某些环境变量 配置文件采用一种相对简单的分层格式,遵循若干基本规则: 1. a configuration file is an ordered sequence of statements 2. a statement is a single non-empty line before any unprotected "#" …

    2.1. 配置文件格式 HAProxy 的配置过程涉及三个主要参数来源: 命令行参数,始终具有最高优先级 配置文件,其格式在此处描述 运行进程的环境,若显式引用了某些环境变量 配置文件采用一种相对简单的分层格式,遵循若干基本规则: 1. a configuration file is an ordered sequence of statements 2. a statement is a single non-empty line before any unprotected "#" …

  • 服务器命令(server)

    发布于 命令参考

    参考

    pgBackRest 服务器允许在不使用 SSH 协议的情况下访问远程主机。 命令选项 TLS 服务器地址选项(--tls-server-address) TLS 服务器地址。 服务器监听客户端请求的 IP 地址。 default: localhost example: --tls-server-address=* TLS 服务器授权客户端选项(--tls-server-auth) TLS 服务器授权客户端。 服务器通过验证客户端证书,并将其证书 CN(Common Name,通用名称)与 …

    pgBackRest 服务器允许在不使用 SSH 协议的情况下访问远程主机。 命令选项 TLS 服务器地址选项(--tls-server-address) TLS 服务器地址。 服务器监听客户端请求的 IP 地址。 default: localhost example: --tls-server-address=* TLS 服务器授权客户端选项(--tls-server-auth) TLS 服务器授权客户端。 服务器通过验证客户端证书,并将其证书 CN(Common Name,通用名称)与 …

  • 许可证与致谢

    发布于 pgBadger

    参考

    pgBadger 是以 PostgreSQL License 发布的自由开源软件。只要保留版权与许可证声明,就可以免费使用、复制、修改与分发。 PostgreSQL License 原文 Copyright (c) 2012-2026, Gilles Darold Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and …

    pgBadger 是以 PostgreSQL License 发布的自由开源软件。只要保留版权与许可证声明,就可以免费使用、复制、修改与分发。 PostgreSQL License 原文 Copyright (c) 2012-2026, Gilles Darold Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and …

  • 恢复命令(restore)

    发布于 命令参考

    参考

    restore 命令默认从第一个存有备份的仓库中自动选取最新备份(参见 快速开始 - 恢复备份 )。仓库的检查顺序由 pgbackrest.conf 决定(例如先检查 repo1,再检查 repo2)。若要从特定仓库恢复,可使用 --repo 选项(例如 --repo=1)。若需恢复非最新的备份,可传入 --set 选项。 使用 --type=time 或 --type=lsn 进行 PITR(时间点恢复)时,必须通过 --target 选项指定目标时间或目标 LSN。若未通过 --set 选项 …

    restore 命令默认从第一个存有备份的仓库中自动选取最新备份(参见 快速开始 - 恢复备份 )。仓库的检查顺序由 pgbackrest.conf 决定(例如先检查 repo1,再检查 repo2)。若要从特定仓库恢复,可使用 --repo 选项(例如 --repo=1)。若需恢复非最新的备份,可传入 --set 选项。 使用 --type=time 或 --type=lsn 进行 PITR(时间点恢复)时,必须通过 --target 选项指定目标时间或目标 LSN。若未通过 --set 选项 …

  • 文档与社区

    发布于 HAProxy

    参考

    1. 可用文档 HAProxy 的完整文档由以下文件组成。请先查阅与问题相关的文档,以节省时间并获得最准确的答案。如果这些文档已经给出答案,请勿再向邮件列表重复提问。 intro.txt (本文档):介绍负载均衡基础、HAProxy 产品及其能力边界、应避免的常见陷阱、部分操作系统特有限制、获取方式、演进过程、如何确认当前版本包含所有已知修复、升级方法,以及补充产品和替代方案。 management.txt :介绍如何启动 HAProxy,如何在运行时及多节点环境中管理 HAProxy,以及如 …

    1. 可用文档 HAProxy 的完整文档由以下文件组成。请先查阅与问题相关的文档,以节省时间并获得最准确的答案。如果这些文档已经给出答案,请勿再向邮件列表重复提问。 intro.txt (本文档):介绍负载均衡基础、HAProxy 产品及其能力边界、应避免的常见陷阱、部分操作系统特有限制、获取方式、演进过程、如何确认当前版本包含所有已知修复、升级方法,以及补充产品和替代方案。 management.txt :介绍如何启动 HAProxy,如何在运行时及多节点环境中管理 HAProxy,以及如 …

  • 仓库列表命令(repo-ls)

    发布于 命令参考

    参考

    repo-ls 类似于 Unix 的 ls 命令,但支持所有 pgBackRest 仓库类型。该命令接受一个路径参数,可以是绝对路径,也可以是相对于 --repo-path 所定义的仓库根路径的相对路径。此命令主要用于管理、排查和测试场景,并非常规部署的必要命令。 默认以文本格式输出,每行一个文件名。指定 --output=json 可切换为 JSON 格式。 若配置了多个仓库,默认操作优先级最高的仓库(如 repo1),如需指定特定仓库,请使用 --repo 选项。 命令选项 过滤输出选项 …

    repo-ls 类似于 Unix 的 ls 命令,但支持所有 pgBackRest 仓库类型。该命令接受一个路径参数,可以是绝对路径,也可以是相对于 --repo-path 所定义的仓库根路径的相对路径。此命令主要用于管理、排查和测试场景,并非常规部署的必要命令。 默认以文本格式输出,每行一个文件名。指定 --output=json 可切换为 JSON 格式。 若配置了多个仓库,默认操作优先级最高的仓库(如 repo1),如需指定特定仓库,请使用 --repo 选项。 命令选项 过滤输出选项 …

  • 版本历史

    发布于 版本历史

    参考

    官网把版本新闻直接堆放在首页,内容停留在 12.4,并且误把 11.1–11.3 用互相冲突的日期重复渲染了一次。本站以固定上游 ChangeLog 为规范记录,只去除这些重复展示,同时补入后续 13.x 版本。每个系列均保留完整条目,并按从新到旧排序。 系列 收录版本 首末发布日期 页面 13.x 13.0–13.2 2024-12-08 – 2025-12-29 阅读 13.x 12.x 12.0–12.4 2022-09-13 – 2023-12-25 阅读 12.x 11.x …

    官网把版本新闻直接堆放在首页,内容停留在 12.4,并且误把 11.1–11.3 用互相冲突的日期重复渲染了一次。本站以固定上游 ChangeLog 为规范记录,只去除这些重复展示,同时补入后续 13.x 版本。每个系列均保留完整条目,并按从新到旧排序。 系列 收录版本 首末发布日期 页面 13.x 13.0–13.2 2024-12-08 – 2025-12-29 阅读 13.x 12.x 12.0–12.4 2022-09-13 – 2023-12-25 阅读 12.x 11.x …

  • 仓库获取命令(repo-get)

    发布于 命令参考

    参考

    repo-get 命令类似于 Unix 的 cat 命令,但支持所有仓库类型。使用此命令需要提供完整的文件名,主要用于管理、排查和测试目的,不是常规 pgBackRest 使用流程中的必需命令。 若仓库已加密,repo-get 将自动解密文件。文件不会自动解压,但可将输出通过管道传递给相应的解压命令,例如 gzip -d。 若配置了多个仓库,命令默认使用优先级最高的仓库(如 repo1),除非通过 --repo 选项指定了具体仓库。 命令选项 忽略缺失文件选项(--ignore-missing) …

    repo-get 命令类似于 Unix 的 cat 命令,但支持所有仓库类型。使用此命令需要提供完整的文件名,主要用于管理、排查和测试目的,不是常规 pgBackRest 使用流程中的必需命令。 若仓库已加密,repo-get 将自动解密文件。文件不会自动解压,但可将输出通过管道传递给相应的解压命令,例如 gzip -d。 若配置了多个仓库,命令默认使用优先级最高的仓库(如 repo1),除非通过 --repo 选项指定了具体仓库。 命令选项 忽略缺失文件选项(--ignore-missing) …

  • 常见问题解答

    发布于 PgBouncer

    参考

    如何连接到 PgBouncer? PgBouncer 扮演 PostgreSQL 服务器的角色,只需将客户端指向 PgBouncer 端口即可。 如何在多个服务器之间实现查询负载均衡? PgBouncer 没有内置的多主机配置功能,但可以通过外部工具实现: DNS 轮询。在一个 DNS 名称后面配置多个 IP。PgBouncer 不会在每次新建连接时查询 DNS,而是缓存所有 IP 并在内部进行轮询。注意:若一个名称后有 8 个以上的 IP,则 DNS 后端必须支持 EDNS0 协议。详情参见 …

    如何连接到 PgBouncer? PgBouncer 扮演 PostgreSQL 服务器的角色,只需将客户端指向 PgBouncer 端口即可。 如何在多个服务器之间实现查询负载均衡? PgBouncer 没有内置的多主机配置功能,但可以通过外部工具实现: DNS 轮询。在一个 DNS 名称后面配置多个 IP。PgBouncer 不会在每次新建连接时查询 DNS,而是缓存所有 IP 并在内部进行轮询。注意:若一个名称后有 8 个以上的 IP,则 DNS 后端必须支持 EDNS0 协议。详情参见 …

  • 报告示例

    发布于 pgBadger

    参考

    示例内容由 pgBadger 11.8 于 2022 年 5 月生成。原始示例已与本站一起保存,因此即使无法访问上游服务器,也能继续使用报告导航、图表、样式与脚本。 示例 展示内容 本地副本 完整报告 PostgreSQL 活动与 PgBouncer 统计 打开完整报告 增量报告 日历索引、每周累计与每日页面 打开增量索引 错误与事件 仅包含错误和运行事件的报告 打开错误报告 完整报告 完整报告是一份自包含 HTML 文档。可通过顶部导航查看全局统计、查询、会话、连接、临时文件、检查点、自动清理 …

    示例内容由 pgBadger 11.8 于 2022 年 5 月生成。原始示例已与本站一起保存,因此即使无法访问上游服务器,也能继续使用报告导航、图表、样式与脚本。 示例 展示内容 本地副本 完整报告 PostgreSQL 活动与 PgBouncer 统计 打开完整报告 增量报告 日历索引、每周累计与每日页面 打开增量索引 错误与事件 仅包含错误和运行事件的报告 打开错误报告 完整报告 完整报告是一份自包含 HTML 文档。可通过顶部导航查看全局统计、查询、会话、连接、临时文件、检查点、自动清理 …

  • Info 命令(info)

    发布于 命令参考

    参考

    info 命令可查询单个 stanza(stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称)或所有 stanza 的信息。默认输出为文本格式,以人类可读的摘要展示所请求 stanza 的备份信息。该格式可能随版本更新而变化。 如需机器可读输出,请使用 --output=json。JSON 输出包含的信息远多于文本格式,且除非发现缺陷,其格式保持稳定。 若只需快速查看进度信息,可指定 --detail-level=progress。注意此模式会跳过 …

    info 命令可查询单个 stanza(stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称)或所有 stanza 的信息。默认输出为文本格式,以人类可读的摘要展示所请求 stanza 的备份信息。该格式可能随版本更新而变化。 如需机器可读输出,请使用 --output=json。JSON 输出包含的信息远多于文本格式,且除非发现缺陷,其格式保持稳定。 若只需快速查看进度信息,可指定 --detail-level=progress。注意此模式会跳过 …

  • 输出格式

    发布于 pgBadger

    参考

    pgBadger 会根据输出文件扩展名,或 -x / --extension 选项选择格式。同一次解析可多次使用 -o / --outfile,同时生成多种格式。 格式 常用扩展名 最适合 HTML .html 带图表的交互式人类可读报告 文本 .txt 终端查看与纯文本归档 二进制 .bin 可合并的中间统计数据与报告重建 JSON .json 与其他软件集成;需要 JSON::XS 原始 CSV 自选输出文件 使用 --dump-raw-csv 导出逐行数据 HTML 与文本 默认输出为 …

    pgBadger 会根据输出文件扩展名,或 -x / --extension 选项选择格式。同一次解析可多次使用 -o / --outfile,同时生成多种格式。 格式 常用扩展名 最适合 HTML .html 带图表的交互式人类可读报告 文本 .txt 终端查看与纯文本归档 二进制 .bin 可合并的中间统计数据与报告重建 JSON .json 与其他软件集成;需要 JSON::XS 原始 CSV 自选输出文件 使用 --dump-raw-csv 导出逐行数据 HTML 与文本 默认输出为 …

  • 性能与容量规划

    发布于 HAProxy

    参考

    典型 CPU 使用率数据显示,在 TCP 或 HTTP 关闭模式下,HAProxy 占用约 15% 的处理时间,内核占用约 85%;在 HTTP 持久连接模式下,HAProxy 占用约 30%,内核占用约 70%。这表明操作系统及其调优对整体性能有显著影响。 不同用户的应用场景差异很大,有的关注带宽,有的关注请求速率,有的关注连接并发数,有的关注 SSL 性能。本节将提供一些容量规划的参考依据。 请注意,每次操作都会带来开销,因此每个独立操作都会在其余操作的基础上增加额外开销,这种开销在某些情 …

    典型 CPU 使用率数据显示,在 TCP 或 HTTP 关闭模式下,HAProxy 占用约 15% 的处理时间,内核占用约 85%;在 HTTP 持久连接模式下,HAProxy 占用约 30%,内核占用约 70%。这表明操作系统及其调优对整体性能有显著影响。 不同用户的应用场景差异很大,有的关注带宽,有的关注请求速率,有的关注连接并发数,有的关注 SSL 性能。本节将提供一些容量规划的参考依据。 请注意,每次操作都会带来开销,因此每个独立操作都会在其余操作的基础上增加额外开销,这种开销在某些情 …

  • 常见问题解答

    发布于 pgBackRest

    参考

    简介 常见问题解答旨在针对一些具体问题提供详细说明,这些问题可能未在用户指南、配置参考或命令参考中涵盖。如果在此处找不到您的问题,pgBackRest 在 GitHub 上的 Issues List 也是一个宝贵的资源。 遇到"could not find WAL segment"错误该怎么办? 此错误可能有多种原因,包括但不限于: archive_command 配置错误 pgBackRest 配置文件配置错误 网络或权限问题 第三方产品(如 S3、Swift 或 MinIO)配置问题 大量 …

    简介 常见问题解答旨在针对一些具体问题提供详细说明,这些问题可能未在用户指南、配置参考或命令参考中涵盖。如果在此处找不到您的问题,pgBackRest 在 GitHub 上的 Issues List 也是一个宝贵的资源。 遇到"could not find WAL segment"错误该怎么办? 此错误可能有多种原因,包括但不限于: archive_command 配置错误 pgBackRest 配置文件配置错误 网络或权限问题 第三方产品(如 S3、Swift 或 MinIO)配置问题 大量 …

  • 版本变更日志

    发布于 PgBouncer

    参考

    PgBouncer 1.25.x 2026-05-08 - PgBouncer 1.25.2 - “Human touch with fresh twist in title race full of uncertainties(充满不确定性的冠军争夺战中,人情味带来新意)” 安全 修复 CVE-2026-6664:PgBouncer 1.25.2 之前的网络包解析代码存在整数溢出,会绕过边界检查并可能导致崩溃。未经身份验证的远程攻击者可以通过畸形 SCRAM 认证包使 PgBouncer 崩 …

    PgBouncer 1.25.x 2026-05-08 - PgBouncer 1.25.2 - “Human touch with fresh twist in title race full of uncertainties(充满不确定性的冠军争夺战中,人情味带来新意)” 安全 修复 CVE-2026-6664:PgBouncer 1.25.2 之前的网络包解析代码存在整数溢出,会绕过边界检查并可能导致崩溃。未经身份验证的远程攻击者可以通过畸形 SCRAM 认证包使 PgBouncer 崩 …

  • 帮助命令(help)

    发布于 命令参考

    参考

    help 命令提供三个层级的帮助信息:未指定命令时显示通用帮助;指定命令(例如 pgbackrest help backup)时显示该命令的完整说明及有效选项列表;在命令之外还指定了某个选项(例如 pgbackrest help backup type)时显示该选项在此命令下的完整说明。 命令选项 显示帮助选项(--help) 显示帮助信息。 即使未指定 help 命令也会显示帮助信息,且优先于 --version 选项。 default: n example: --help 显示版本选项 …

    help 命令提供三个层级的帮助信息:未指定命令时显示通用帮助;指定命令(例如 pgbackrest help backup)时显示该命令的完整说明及有效选项列表;在命令之外还指定了某个选项(例如 pgbackrest help backup type)时显示该选项在此命令下的完整说明。 命令选项 显示帮助选项(--help) 显示帮助信息。 即使未指定 help 命令也会显示帮助信息,且优先于 --version 选项。 default: n example: --help 显示版本选项 …

  • 版本发布说明

    发布于 pgBackRest

    参考

    简介 pgBackRest 的版本号由主版本号和次版本号两部分组成。主版本升级 可能 破坏与上一主版本的兼容性,但 v2 版本与 v1 仓库完全兼容,且接受所有 v1 选项。次版本可包含漏洞修复和新功能,但不会更改仓库格式,并尽量避免修改选项和命名约定。v1 版本的文档可在 此处 查阅。版本说明中还可能包含"附加说明",此部分变更仅涉及文档或测试套件,不直接影响 pgBackRest 代码库。 当前稳定版本 v2.59.1 版本说明 支持 PostgreSQL 19beta3 发布于 2026 …

    简介 pgBackRest 的版本号由主版本号和次版本号两部分组成。主版本升级 可能 破坏与上一主版本的兼容性,但 v2 版本与 v1 仓库完全兼容,且接受所有 v1 选项。次版本可包含漏洞修复和新功能,但不会更改仓库格式,并尽量避免修改选项和命名约定。v1 版本的文档可在 此处 查阅。版本说明中还可能包含"附加说明",此部分变更仅涉及文档或测试套件,不直接影响 pgBackRest 代码库。 当前稳定版本 v2.59.1 版本说明 支持 PostgreSQL 19beta3 发布于 2026 …

  • 过期命令(expire)

    发布于 命令参考

    参考

    pgBackRest 基于保留策略对全量备份进行轮换,策略可按数量或时间段定义。按数量保留时,过期操作只关注需要保留的备份数量,不考虑备份的创建时间。差异备份按数量进行保留,但当其依赖的全量备份过期时,差异备份也会随之过期。增量备份没有独立的保留策略——它们始终随关联的全量备份或差异备份一同过期。详情及示例请参见 全量备份保留策略 和 差异备份保留策略 章节。 默认情况下,未过期备份对应的已归档 WAL 会被保留。如有需要(不推荐),可通过归档保留选项按仓库单独调整此策略。详情及示例请参见 归档 …

    pgBackRest 基于保留策略对全量备份进行轮换,策略可按数量或时间段定义。按数量保留时,过期操作只关注需要保留的备份数量,不考虑备份的创建时间。差异备份按数量进行保留,但当其依赖的全量备份过期时,差异备份也会随之过期。增量备份没有独立的保留策略——它们始终随关联的全量备份或差异备份一同过期。详情及示例请参见 全量备份保留策略 和 差异备份保留策略 章节。 默认情况下,未过期备份对应的已归档 WAL 会被保留。如有需要(不推荐),可通过归档保留选项按仓库单独调整此策略。详情及示例请参见 归档 …

  • 源码发布版下载

    发布于 PgBouncer

    参考

    PgBouncer 1.25 File Date Size SHA256 pgbouncer-1.25.2.tar.gz 2026-05-08 865371 bytes sha256 pgbouncer-1.25.1.tar.gz 2025-12-03 864801 bytes sha256 pgbouncer-1.25.0.tar.gz 2025-11-09 863322 bytes sha256 PgBouncer 1.24 File Date Size SHA256 …

    PgBouncer 1.25 File Date Size SHA256 pgbouncer-1.25.2.tar.gz 2026-05-08 865371 bytes sha256 pgbouncer-1.25.1.tar.gz 2025-12-03 864801 bytes sha256 pgbouncer-1.25.0.tar.gz 2025-11-09 863322 bytes sha256 PgBouncer 1.24 File Date Size SHA256 …

  • 配置参考

    发布于 pgBackRest

    参考

    简介 pgBackRest 可以完全通过命令行参数使用,但当配置较为复杂或需要设置大量选项时,使用配置文件更为实用。配置文件的默认路径为 /etc/pgbackrest/pgbackrest.conf。若该路径下不存在配置文件,则会检查旧的默认路径 /etc/pgbackrest.conf。 以下是支持的选项类型: String(字符串):文本字符串,常见用途包括标识符、密码等。 命令行示例:--stanza=demo配置文件示例 …

    简介 pgBackRest 可以完全通过命令行参数使用,但当配置较为复杂或需要设置大量选项时,使用配置文件更为实用。配置文件的默认路径为 /etc/pgbackrest/pgbackrest.conf。若该路径下不存在配置文件,则会检查旧的默认路径 /etc/pgbackrest.conf。 以下是支持的选项类型: String(字符串):文本字符串,常见用途包括标识符、密码等。 命令行示例:--stanza=demo配置文件示例 …

  • patronictl 命令行

    发布于 Patroni

    参考

    Patroni 提供了 patronictl 命令行工具,用于与 Patroni 的 REST API 和 DCS 交互,旨在简化集群操作,适合人工操作或脚本调用。 配置 patronictl 使用以下 3 个配置节: ctl:用于对 Patroni REST API 进行认证以及验证服务器身份,详见 ctl 配置参数 ; restapi:同样用于认证和验证服务器身份,仅在 ctl 配置不足时作为补充。patronictl 主要使用 restapi.authentication 节(当 …

    Patroni 提供了 patronictl 命令行工具,用于与 Patroni 的 REST API 和 DCS 交互,旨在简化集群操作,适合人工操作或脚本调用。 配置 patronictl 使用以下 3 个配置节: ctl:用于对 Patroni REST API 进行认证以及验证服务器身份,详见 ctl 配置参数 ; restapi:同样用于认证和验证服务器身份,仅在 ctl 配置不足时作为补充。patronictl 主要使用 restapi.authentication 节(当 …

  • HAProxy 3.4.4 中文文档

    发布于 HAProxy

    参考

    HAProxy 是一款免费、快速、可靠的反向代理,适用于高可用、TCP 与 HTTP 负载均衡及应用流量管理。本组件收录三套 HAProxy 3.4 核心手册的完整中文译文,并将其重新编排为适合 OINK 阅读器的扁平阅读顺序。 选择手册 入门指南 — 用 9 个主题介绍负载均衡基础、HAProxy 架构、功能、容量规划、版本升级与周边生态。 配置手册 — 用 12 章完整覆盖代理、ACL、样本提取、日志、过滤器及各类选项。 管理指南 — 用 13 章讲解启动、重载、资源、日志、统计信息、运行 …

    HAProxy 是一款免费、快速、可靠的反向代理,适用于高可用、TCP 与 HTTP 负载均衡及应用流量管理。本组件收录三套 HAProxy 3.4 核心手册的完整中文译文,并将其重新编排为适合 OINK 阅读器的扁平阅读顺序。 选择手册 入门指南 — 用 9 个主题介绍负载均衡基础、HAProxy 架构、功能、容量规划、版本升级与周边生态。 配置手册 — 用 12 章完整覆盖代理、ACL、样本提取、日志、过滤器及各类选项。 管理指南 — 用 13 章讲解启动、重载、资源、日志、统计信息、运行 …

  • 检查命令(check)

    发布于 命令参考

    参考

    check 命令用于验证 pgBackRest 及 archive_command 的配置是否正确,确保指定 stanza(stanza 是 pgBackRest 中用于标识 PostgreSQL 集群备份配置的逻辑名称)的归档与备份能够正常运作。该命令会对当前主机上为该 stanza 配置的所有仓库和数据库逐一检查,可检测出配置错误——尤其是归档配置问题,此类问题会导致所需的 WAL 段无法进入归档,从而造成备份不完整。此命令可在 PostgreSQL 主机或仓库主机上运行;也可在备库主机上运 …

    check 命令用于验证 pgBackRest 及 archive_command 的配置是否正确,确保指定 stanza(stanza 是 pgBackRest 中用于标识 PostgreSQL 集群备份配置的逻辑名称)的归档与备份能够正常运作。该命令会对当前主机上为该 stanza 配置的所有仓库和数据库逐一检查,可检测出配置错误——尤其是归档配置问题,此类问题会导致所需的 WAL 段无法进入归档,从而造成备份不完整。此命令可在 PostgreSQL 主机或仓库主机上运行;也可在备库主机上运 …

  • pgBadger 9.x 版本记录

    发布于 版本历史

    参考

    本页按从新到旧的顺序保留 pgBadger 9.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v9.2 · 2017-07-27 This release of pgBadger is a maintenance release that adds some new features. Add report of checkpoint distance and estimate. Add support of AWS Redshift …

    本页按从新到旧的顺序保留 pgBadger 9.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v9.2 · 2017-07-27 This release of pgBadger is a maintenance release that adds some new features. Add report of checkpoint distance and estimate. Add support of AWS Redshift …

  • 命令参考

    发布于 命令参考

    参考

    简介 pgBackRest 通过命令来执行各项功能。本文档对每个命令的选项进行了详尽列举——即每个适用于某命令的选项都会随该命令一并列出,即便该选项同样适用于其他命令。所有可在 pgbackrest.conf 中配置的选项均包含在内。 在 pgbackrest.conf 中配置的非布尔型选项,可在命令行上使用 reset- 前缀将其重置为默认值。这一功能在直接于仓库主机上执行恢复时很有用。通常情况下,pgBackRest 检测到数据库主机是远程主机后会报错,因为恢复操作无法远程执行。在命令行添加 …

    简介 pgBackRest 通过命令来执行各项功能。本文档对每个命令的选项进行了详尽列举——即每个适用于某命令的选项都会随该命令一并列出,即便该选项同样适用于其他命令。所有可在 pgbackrest.conf 中配置的选项均包含在内。 在 pgbackrest.conf 中配置的非布尔型选项,可在命令行上使用 reset- 前缀将其重置为默认值。这一功能在直接于仓库主机上执行恢复时很有用。通常情况下,pgBackRest 检测到数据库主机是远程主机后会报错,因为恢复操作无法远程执行。在命令行添加 …

  • Patroni REST API

    发布于 Patroni

    参考

    Patroni 提供了丰富的 REST API,供 Patroni 自身在主库竞选期间调用,也供 patronictl 工具执行故障转移、主从切换、重新初始化、重启和重载等操作,还可供 HAProxy 或其他负载均衡器执行 HTTP 健康检查,以及用于监控目的。以下是 Patroni REST API 端点的完整列表。 健康检查端点 对于所有健康检查 GET 请求,Patroni 返回描述节点状态的 JSON 文档,并附带相应的 HTTP 状态码。若不需要 JSON 响应体,可使用 HEAD …

    Patroni 提供了丰富的 REST API,供 Patroni 自身在主库竞选期间调用,也供 patronictl 工具执行故障转移、主从切换、重新初始化、重启和重载等操作,还可供 HAProxy 或其他负载均衡器执行 HTTP 健康检查,以及用于监控目的。以下是 Patroni REST API 端点的完整列表。 健康检查端点 对于所有健康检查 GET 请求,Patroni 返回描述节点状态的 JSON 文档,并附带相应的 HTTP 状态码。若不需要 JSON 响应体,可使用 HEAD …

  • 备份命令(backup)

    发布于 命令参考

    参考

    配置多个仓库时,pgBackRest 默认备份到优先级最高的仓库(如 repo1),除非通过 --repo 选项明确指定目标仓库。 pgBackRest 本身不内置调度器,建议通过 cron 或其他调度机制触发备份。 详情与示例请参见 执行备份 。 命令选项 备份注解选项(--annotation) 为备份附加用户自定义的键值对注解。 可为备份附加任意键值对信息,此选项可多次使用以添加多个注解。 通过 --set 指定备份时,info 命令的文本输出会显示注解;JSON 输出则始终包含注解信息。 …

    配置多个仓库时,pgBackRest 默认备份到优先级最高的仓库(如 repo1),除非通过 --repo 选项明确指定目标仓库。 pgBackRest 本身不内置调度器,建议通过 cron 或其他调度机制触发备份。 详情与示例请参见 执行备份 。 命令选项 备份注解选项(--annotation) 为备份附加用户自定义的键值对注解。 可为备份附加任意键值对信息,此选项可多次使用以添加多个注解。 通过 --set 指定备份时,info 命令的文本输出会显示注解;JSON 输出则始终包含注解信息。 …

  • pgBadger 10.x 版本记录

    发布于 版本历史

    参考

    本页按从新到旧的顺序保留 pgBadger 10.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v10.3 · 2019-02-14 This release of pgBadger is a maintenance release that fixes some log format autodetection issues another pgBouncer log parsing issue reported by users. …

    本页按从新到旧的顺序保留 pgBadger 10.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v10.3 · 2019-02-14 This release of pgBadger is a maintenance release that fixes some log format autodetection issues another pgBouncer log parsing issue reported by users. …

  • 命令行参考

    发布于 pgBadger

    参考

    本页保留固定上游源码生成的完整命令参考。为了能与 pgbadger --help 逐项核对,参数名、帮助文字和命令示例均保留英文原文。 用法与选项 Usage: pgbadger [options] logfile […] PostgreSQL log analyzer with fully detailed reports and graphs. Arguments: logfile can be a single log file, a list of files, or a shell …

    本页保留固定上游源码生成的完整命令参考。为了能与 pgbadger --help 逐项核对,参数名、帮助文字和命令示例均保留英文原文。 用法与选项 Usage: pgbadger [options] logfile […] PostgreSQL log analyzer with fully detailed reports and graphs. Arguments: logfile can be a single log file, a list of files, or a shell …

  • 环境变量

    发布于 Patroni 配置

    参考

    可以使用系统环境变量覆盖 Patroni 配置文件中定义的部分配置参数。本文档列出了 Patroni 处理的所有环境变量。通过环境变量设置的值始终优先于配置文件中的值。 全局/通用 PATRONI_CONFIGURATION:可通过 PATRONI_CONFIGURATION 环境变量为 Patroni 提供完整配置。设置此变量后,其他所有环境变量将被忽略! PATRONI_NAME:运行当前 Patroni 实例的节点名称,在集群内必须唯一。 …

    可以使用系统环境变量覆盖 Patroni 配置文件中定义的部分配置参数。本文档列出了 Patroni 处理的所有环境变量。通过环境变量设置的值始终优先于配置文件中的值。 全局/通用 PATRONI_CONFIGURATION:可通过 PATRONI_CONFIGURATION 环境变量为 Patroni 提供完整配置。设置此变量后,其他所有环境变量将被忽略! PATRONI_NAME:运行当前 Patroni 实例的节点名称,在集群内必须唯一。 …

  • Patroni 配置

    发布于 Patroni 配置

    参考

    Patroni 的配置分为 3 种类型: 全局 动态配置 。 这些选项存储在 DCS(分布式配置存储)中,并应用于集群的所有节点。动态配置可以随时通过 patronictl edit-config 工具或 Patroni REST API 进行设置。如果更改的选项不属于启动配置,它们将异步地(在下一个唤醒周期时)应用到每个节点,随后触发重载。如果节点需要重启才能应用配置(对于上下文为 postmaster 且值已更改的 PostgreSQL 参数 ),则会在成员数据 JSON 中设置一个特殊标 …

    Patroni 的配置分为 3 种类型: 全局 动态配置 。 这些选项存储在 DCS(分布式配置存储)中,并应用于集群的所有节点。动态配置可以随时通过 patronictl edit-config 工具或 Patroni REST API 进行设置。如果更改的选项不属于启动配置,它们将异步地(在下一个唤醒周期时)应用到每个节点,随后触发重载。如果节点需要重启才能应用配置(对于上下文为 postmaster 且值已更改的 PostgreSQL 参数 ),则会在成员数据 JSON 中设置一个特殊标 …

  • 归档推送命令(archive-push)

    发布于 命令参考

    参考

    接收来自 PostgreSQL 的 WAL 段,并将其归档到各个仓库中(仓库路径由带索引的 repo-path 选项定义,详见 仓库选项 章节)。WAL 段可以立即推送到归档,也可以根据 archive-async 的值先暂存在本地。配置了多个仓库时,archive-push 会尽量向所有仓库推送。 archive-push 由 PostgreSQL 负责配置和调用。相关示例请参见 配置归档 。 命令选项 异步归档选项(--archive-async) 异步推送/获取 WAL 段。 为 …

    接收来自 PostgreSQL 的 WAL 段,并将其归档到各个仓库中(仓库路径由带索引的 repo-path 选项定义,详见 仓库选项 章节)。WAL 段可以立即推送到归档,也可以根据 archive-async 的值先暂存在本地。配置了多个仓库时,archive-push 会尽量向所有仓库推送。 archive-push 由 PostgreSQL 负责配置和调用。相关示例请参见 配置归档 。 命令选项 异步归档选项(--archive-async) 异步推送/获取 WAL 段。 为 …

  • pgBadger 11.x 版本记录

    发布于 版本历史

    参考

    本页按从新到旧的顺序保留 pgBadger 11.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v11.8 · 2022-04-08 This release of pgBadger fix some issues reported by users since past three months and especially two fixes on new log entries detection in incremental mode. …

    本页按从新到旧的顺序保留 pgBadger 11.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v11.8 · 2022-04-08 This release of pgBadger fix some issues reported by users since past three months and especially two fixes on new log entries detection in incremental mode. …

  • 配置:pgbouncer.ini

    发布于 PgBouncer

    参考

    描述 配置文件采用 “ini” 格式。节名称位于 [ 和 ] 之间。以 ; 或 # 开头的行被视为注释并忽略。当 ; 和 # 出现在行中间时,不会被识别为特殊字符。 通用设置 logfile 指定日志文件。若要以守护进程方式运行(-d),需要设置此项或 syslog。 日志文件保持打开状态,因此在日志轮转后,应执行 kill -HUP 或在控制台执行 RELOAD;。在 Windows 上,必须停止并重启服务。 注意:设置 logfile 本身并不会关闭向 stderr 的日志输出,如需关闭请 …

    描述 配置文件采用 “ini” 格式。节名称位于 [ 和 ] 之间。以 ; 或 # 开头的行被视为注释并忽略。当 ; 和 # 出现在行中间时,不会被识别为特殊字符。 通用设置 logfile 指定日志文件。若要以守护进程方式运行(-d),需要设置此项或 syslog。 日志文件保持打开状态,因此在日志轮转后,应执行 kill -HUP 或在控制台执行 RELOAD;。在 Windows 上,必须停止并重启服务。 注意:设置 logfile 本身并不会关闭向 stderr 的日志输出,如需关闭请 …

  • YAML 配置参数

    发布于 Patroni 配置

    参考

    全局/通用 name:主机名称,在集群中必须唯一。 namespace:Patroni 在配置存储中保存集群信息的路径,默认值为 /service。 scope:集群名称。 日志 type:设置日志格式,可选 plain 或 json。使用 json 格式时,必须安装 jsonlogger 。默认值为 plain。 level:设置通用日志级别,默认值为 INFO(参见 Python logging 文档 )。 traceback_level:设置显示调用栈跟踪的日志级别,默认值为 …

    全局/通用 name:主机名称,在集群中必须唯一。 namespace:Patroni 在配置存储中保存集群信息的路径,默认值为 /service。 scope:集群名称。 日志 type:设置日志格式,可选 plain 或 json。使用 json 格式时,必须安装 jsonlogger 。默认值为 plain。 level:设置通用日志级别,默认值为 INFO(参见 Python logging 文档 )。 traceback_level:设置显示调用栈跟踪的日志级别,默认值为 …

  • 归档获取命令(archive-get)

    发布于 命令参考

    参考

    PostgreSQL 通过此命令执行备份恢复、PITR,或将其作为流复制的替代方式来维持副本同步。WAL 段是 PostgreSQL 执行恢复或维护副本的必要条件。 配置多个仓库时,pgBackRest 按优先级顺序(如 repo1、repo2 等)依次从各仓库获取 WAL。速度更快或成本更低的存储应配置更高的优先级。若通过 --repo 选项指定了某个仓库,则仅从该仓库中查找。 archive-get 命令由 pgBackRest 在恢复过程中自动配置并生成,供 PostgreSQL 使用。相 …

    PostgreSQL 通过此命令执行备份恢复、PITR,或将其作为流复制的替代方式来维持副本同步。WAL 段是 PostgreSQL 执行恢复或维护副本的必要条件。 配置多个仓库时,pgBackRest 按优先级顺序(如 repo1、repo2 等)依次从各仓库获取 WAL。速度更快或成本更低的存储应配置更高的优先级。若通过 --repo 选项指定了某个仓库,则仅从该仓库中查找。 archive-get 命令由 pgBackRest 在恢复过程中自动配置并生成,供 PostgreSQL 使用。相 …

  • pgBadger 12.x 版本记录

    发布于 版本历史

    参考

    本页按从新到旧的顺序保留 pgBadger 12.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v12.4 · 2023-12-25 This is a maintenance release of pgBadger that fixes issues reported by users since last release. Fix pgbouncer report with version 1.21. Thanks to Ales …

    本页按从新到旧的顺序保留 pgBadger 12.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v12.4 · 2023-12-25 This is a maintenance release of pgBadger that fixes issues reported by users since last release. Fix pgbouncer report with version 1.21. Thanks to Ales …

  • 新闻

    发布于 pgBackRest

    参考

    pgBackRest 2.59.1 正式发布 2026 年 8 月 17 日 pgBackRest 社区很高兴地宣布 pgBackRest 2.59.1 正式发布。pgBackRest 是一款可靠、易用的备份与恢复解决方案,可无缝扩展以应对超大规模数据库和工作负载。 pgBackRest 为管理备份与恢复基础设施提供了丰富而强大的功能,包括:并行备份与恢复、全量/差异/增量备份、块级增量备份、多仓库、delta 恢复、并行异步归档、恶意软件/勒索软件防护、逐文件校验和、备份期间验证页面校验和( …

    pgBackRest 2.59.1 正式发布 2026 年 8 月 17 日 pgBackRest 社区很高兴地宣布 pgBackRest 2.59.1 正式发布。pgBackRest 是一款可靠、易用的备份与恢复解决方案,可无缝扩展以应对超大规模数据库和工作负载。 pgBackRest 为管理备份与恢复基础设施提供了丰富而强大的功能,包括:并行备份与恢复、全量/差异/增量备份、块级增量备份、多仓库、delta 恢复、并行异步归档、恶意软件/勒索软件防护、逐文件校验和、备份期间验证页面校验和( …

  • 动态配置

    发布于 Patroni 配置

    参考

    动态配置存储在 DCS(分布式配置存储)中,并应用于集群的所有节点。 如需修改动态配置,可使用 patronictl edit-config 工具或 Patroni REST API 。 loop_wait:主循环每轮的休眠秒数。默认值:10,最小值:1。 ttl:获取领导者锁的 TTL(秒)。可以理解为触发自动故障转移前的等待时长。默认值:30,最小值:20。 retry_timeout:DCS 和 PostgreSQL 操作的重试超时时间(秒)。若 DCS 或网络故障时长短于此值 …

    动态配置存储在 DCS(分布式配置存储)中,并应用于集群的所有节点。 如需修改动态配置,可使用 patronictl edit-config 工具或 Patroni REST API 。 loop_wait:主循环每轮的休眠秒数。默认值:10,最小值:1。 ttl:获取领导者锁的 TTL(秒)。可以理解为触发自动故障转移前的等待时长。默认值:30,最小值:20。 retry_timeout:DCS 和 PostgreSQL 操作的重试超时时间(秒)。若 DCS 或网络故障时长短于此值 …

  • 注解命令(annotate)

    发布于 命令参考

    参考

    backup 命令执行时附加的注解,可在事后通过 annotate 命令进行添加、修改或删除。 命令选项 备份注解选项(--annotation) 为备份添加用户自定义键值对注解。 可为备份附加具有描述性的键值对。此选项可多次使用,以添加多条注解。 使用 --set 指定备份后,注解将显示在 info 命令的文本输出中,并始终出现在 JSON 输出中。 example: --annotation=source="Sunday backup for website database" 备份集选项 …

    backup 命令执行时附加的注解,可在事后通过 annotate 命令进行添加、修改或删除。 命令选项 备份注解选项(--annotation) 为备份添加用户自定义键值对注解。 可为备份附加具有描述性的键值对。此选项可多次使用,以添加多条注解。 使用 --set 指定备份后,注解将显示在 info 命令的文本输出中,并始终出现在 JSON 输出中。 example: --annotation=source="Sunday backup for website database" 备份集选项 …

  • pgBadger 13.x 版本记录

    发布于 版本历史

    参考

    本页按从新到旧的顺序保留 pgBadger 13.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v13.2 · 2025-12-29 This is a maintenance release of pgBadger that fixes issues and applied patches reported by users since last release. Fix normalization that was not handling …

    本页按从新到旧的顺序保留 pgBadger 13.x 的完整上游变更记录。为确保版本、参数、提交者致谢和兼容性描述不被转述改变,正文保留英文原文。 v13.2 · 2025-12-29 This is a maintenance release of pgBadger that fixes issues and applied patches reported by users since last release. Fix normalization that was not handling …