wal:WAL 位置和谁让它留着
WAL 写到哪了、
sys_wal 多大,以及是什么让它留着:参数、槽、归档。采集于 2026-10-07(UTC+08),本地 KingbaseES V008R006C009B0014 主节点和备节点,数据库 test。工具是 Go 版源码提交 96c874f 编译的 ~/kbdiag(linux/amd64 静态二进制)。这是测试环境实测,不代表生产环境验收。没有注入故障。数值只属于本次采样。
用法
没有自己的参数。连接参数和 sessions 相同。
主库
position是当前写到的位置和它所在的 WAL 文件。sys_wal的大小和space里一致:同一个 probe,同样的列。what keeps WAL here把原来要分别跑三条命令再拼起来的信息放在一屏:参数(max_wal_size,wal_keep_segments折成它保留的大小)、每个复制槽保留的 WAL 和是否活跃、归档积压。这里槽保留 0 字节而且活跃,但有 38 个.ready文件在等归档(实验环境的归档本来就在失败,见archive)。- 它只展示,不重复判定。槽不活跃由
kbdiag slots报,归档失败由kbdiag archive报,这一屏只指过去。同一个问题在三条命令里各报一次,只会让人以为出了三件事。 - WAL 生成速率要隔一段时间采两次,单次查询给不了,这个版本不做。
备库
备库上 position 是回放位置(没有写入位置,也没有 WAL 文件名)。这个备库自己没有槽,也没有等着归档的文件。
退出码
| 退出码 | 含义 |
|---|---|
| 0 | OK |
| 3 | UNKNOWN:有数据没采到或看不到 |
| 64 | 参数错误 |
| 69 | 连不上数据库 |