【问题标题】:How to avoid a big log file with WAL archiving?如何避免使用 WAL 归档的大日志文件?
【发布时间】:2018-04-06 12:39:25
【问题描述】:

我在 EDB Postgresql 9.6 中为 PITR 启用了 WAL 归档,但现在每次创建一个 16MB 的日志文件并填充磁盘卷。我该如何避免呢?

这些是对Postgresql.conf 所做的更改以启用 wal 存档:

wal_level = replica
archive_mode =  on
archive_command = 'cp %p /postgres/cluster/wals/%f'

(cp从pg_xlogswals文件夹)

现在wal文件夹每次都在填满。

【问题讨论】:

    标签: postgresql database-administration enterprisedb postgres-plus


    【解决方案1】:

    你避免填满目标目录

    • 在那里提供足够的磁盘空间

    • 删除不再需要的 WAL 档案。

    PostgreSQL 不会自动为您删除 WAL 档案——它甚至不知道它们在哪里。

    【讨论】:

    • 我们在测试环境中进行了类似的配置,但在数据库中没有任何数据,为什么每天都会创建日志文件。
    • 我不知道你的问题是哪个数据库,但是只要数据库中的任何内容被修改,就会生成 WAL。
    • -rw------- 1 edbpostgres edbpostgres 16M Apr 2 20:00 000000020000000000000018 -rw------- 1 edbpostgres edbpostgres 16M Apr 3 20:00 00000002000000000000019- ----- 1 edbpostgres edbpostgres 16M Apr 4 20:00 00000002000000000000001A -rw------- 1 edbpostgres edbpostgres 16M Apr 5 20:00 00000002000000000000001B 我知道默认日志文件大小是 16MB 但真的不知道正在创建文件而没有任何事务。(测试环境)
    • 好吧,一些活动产生了。使用 pg_xlogdump 读取 WAL 存档的内容。如果您不关心,请设置archive_mode = off
    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多