文章目录
- max_wal_size,两个检查点之间,wal可增长的最大大小,这是一个软限制。
- min_wal_size,检查点后用来保留的,用于未来循环使用的wal文件。可以被用来确保有足够的 WAL 空间被保留来应付 WAL 使用的高峰
postgres=# select name,setting,unit from pg_settings where name like '%wal_size%'; name | setting | unit--------------+---------+------ max_wal_size | 1024 | MB min_wal_size | 80 | MB(2 rows)
$ ll total 81936 drwx------ 3 pg126 pg126 4096 Apr 28 10:09 ./ drwx------ 20 pg126 pg126 4096 Apr 29 15:18 ../ -rw------- 1 pg126 pg126 337 Apr 14 14:02 000000010000000000000009.00000028.backup -rw------- 1 pg126 pg126 16777216 Apr 28 16:09 00000001000000000000000A -rw------- 1 pg126 pg126 16777216 Apr 14 13:52 00000001000000000000000B -rw------- 1 pg126 pg126 16777216 Apr 14 13:52 00000001000000000000000C -rw------- 1 pg126 pg126 16777216 Apr 14 14:02 00000001000000000000000D -rw------- 1 pg126 pg126 16777216 Apr 14 14:02 00000001000000000000000E drwx------ 2 pg126 pg126 4096 Apr 28 10:09 archive_status/
$ du -sm pg_wal 1329 pg_wal
$ du -sm pg_wal/ 801 pg_wal/
$ du -sm pg_wal/ 801 pg_wal/
- 独立于max_wal_size之外,wal_keep_size(MB)+ 1 个最近的 WAL 文件将总是被保留。(pg13之前的版本是wal_keep_segments)
- 启用了WAL 归档,旧的段在被归档之前不能被移除或者再利用。
- 启用了复制槽功能,一个使用了复制槽的较慢或者失败的后备服务器也会导致WAL不能被删除或重用。
- checkpoing未完成,
- 长事务未提交。