我将wal_keep_segments
设置为3000
。但是目录pg_xlog
包含6000多个WAL段。有趣的是,在8月14日之后有3000个文件,所以在8月14日之前的文件应该不存在。这些文件还设置了可执行位。
$ ls -al pg_xlog | grep -A2 -B2 00000001000034DB0000003B
-rwx------ 1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB00000039
-rwx------ 1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB0000003A
-rwx------ 1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB0000003B
-rw------- 1 postgres postgres 16777216 Aug 14 19:17 0000000100003826000000EA
-rw------- 1 postgres postgres 16777216 Aug 14 19:17 0000000100003826000000EB
```
此群集没有复制插槽,已启用archive_mode
,但是archive_command
设置为/bin/true
。我认为新的WAL段已被回收,总数量约为6000,但postgres出于某种原因不会删除旧文件。有什么想法吗?
答案 0 :(得分:0)
PostgreSQL不习惯在WAL段上设置可执行标志。
此外,似乎在编号上存在空白。
这些文件必须偶然存在,您可以将其删除。