这是本节的多页打印视图。 .
日志
pg logs 命令用于查看 PostgreSQL 实例和插件组件(如 PgBouncer 连接池、etcd 成员)的控制台输出日志。
PostgreSQL 实例日志
查看最近的日志
实时跟踪日志
显示所有可用日志
默认行为:不指定 -i 时,显示 default 实例的日志。
插件日志
插件日志(如 PgBouncer 连接池)使用 addon 子命令。
本地插件
查看附加到本地 PostgreSQL 实例的插件日志:
远程插件
查看针对远程数据库的独立 PgBouncer 实例的日志:
etcd 成员
etcd 属于顶层 infra 插件,用 --name 指定成员(省略时默认为 etcd):
PgDog 代理
pgdog 同样属于顶层 infra 插件,用 --name 指定代理(省略时默认为 pgdog):
PgDog 以结构化 INFO 行记录连接池事件(新建服务器连接、认证、客户端连接 / 断开)。
HAProxy 实例
haproxy 同样属于顶层 infra 插件,用 --name 指定实例(省略时默认为 haproxy):
HAProxy 会记录健康检查状态变化(Server lb_rw/node2 is UP/DOWN, reason: ...)
与连接事件,适合实时观察故障切换。
MinIO 实例
minio 同样属于顶层 infra 插件,用 --name 指定实例(省略时默认为 minio):
MinIO 日志走 stdout:启动行(其服务的 API: / Console: 地址)与请求错误。
Patroni 成员
Patroni 不是通过 pg addon 管理的组件——它是独立的顶层命令 pg ha 集群——
因此有自己的简写形式 pg logs ha <scope> --member <name>:
pg logs ha 等价于 pg logs addon patroni --scope <scope> --name <member>;
scope 必填,成员名在该集群内定位一个节点。
Patroni 成员每个周期都记录 HA 主循环(no action. I am (node1), a secondary, and following a leader (node3))以及 PostgreSQL 启动/恢复输出——适合发现卡住的
副本(反复出现 record with incorrect prev-link / waiting for WAL to become available)。
选项说明
| 选项 | 简写 | 描述 |
|---|---|---|
--follow |
-f |
跟踪日志输出(类似 tail -f) |
--tail N |
-n N |
显示最后 N 行(默认:50,0 表示全部) |
--instance NAME |
-i NAME |
实例名称(默认:default) |
--pg-name NAME |
远程插件名称(用于远程 PgBouncer) | |
--name NAME |
etcd 成员 / PgDog 代理 / HAProxy / MinIO 实例名称(默认:etcd / pgdog / haproxy / minio);Patroni 成员名(与 --scope 搭配,必填) |
|
--scope NAME |
Patroni 集群 scope(仅用于插件类型 patroni) |
|
--member NAME |
-m NAME |
Patroni 成员名(仅用于 pg logs ha <scope>) |
示例
注意事项
- PostgreSQL 日志包括查询执行、连接事件和系统消息
- 插件日志显示连接池活动(连接、断开、池统计)
- etcd 成员日志为 JSON 格式的 raft/选主/peer 事件,适合排查 quorum 问题
- PgDog 代理日志为结构化 INFO 行,记录连接池事件(服务器连接、认证、客户端连接 / 断开)
- HAProxy 日志记录健康检查状态变化与连接事件——可实时观察故障切换过程
- MinIO 日志走 stdout,输出启动行与请求错误
- 跟踪模式(
-f)会保持连接直到按 Ctrl+C 中断 - 远程插件使用
--pg-name而不是-i来标识目标连接池;etcd 成员、PgDog 代理、HAProxy 实例和 MinIO 实例使用--name - Patroni 成员不属于
pg addon管理,用pg logs ha <scope> --member <name>查看(等价于pg logs addon patroni --scope --name)