PostgreSQL保留任何复制插槽都不需要的WAL段

时间:2018-08-15 03:43:15

标签: postgresql wal

我将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出于某种原因不会删除旧文件。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

PostgreSQL不习惯在WAL段上设置可执行标志。

此外,似乎在编号上存在空白。

这些文件必须偶然存在,您可以将其删除。