【问题标题】:How to reduce WAL file count in edb postgresql 9.6 instance?如何减少 edb postgresql 9.6 实例中的 WAL 文件数?
【发布时间】:2018-04-04 11:38:12
【问题描述】:

Edb postgresql 实例正在生成更多数量的 WAL 文件段(每个 16 MB),并且挂载点正在被填满。

如何减少WAL文件大小并增加检查点

【问题讨论】:

  • walsize 在编译时设置。你不能在工作集群上改变它。如果您真的不需要 wals,您可以将级别切换到最低限度 - 但您必须确定这一点。还有archive_command可以帮助你将wals移动到其他位置
  • 你真的想增加检查点执行吗?它会降低服务器实例的性能。 PostgreSQL 在日志中有一个警告,只是在谈论它here
  • 将 wal_level 切换到最小会影响时间点备份吗?目前我们已经在副本上设置了它
  • 你不能以最低级别进行pitr,顺便说一句,它在我的问题的第一个链接中有所介绍

标签: postgresql postgresql-9.6 enterprisedb


【解决方案1】:

您可以更改要写入 wal 的数据量:

https://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-WAL-LEVEL

wal_level 决定了写入 WAL 的信息量。这 默认值为replica,它写入足够的数据以支持WAL 归档和复制,包括在 备用服务器。最小删除除信息之外的所有日志记录 需要从崩溃或立即关闭中恢复。最后, 逻辑添加支持逻辑解码所需的信息。每个 level 包括在所有较低级别记录的信息。这 参数只能在服务器启动时设置。

另外,您可能想要写入相同数量的数据,但配置存档命令(这样您就可以摆脱存档的 wal 并释放空间而不会丢失它们):

https://www.postgresql.org/docs/current/static/continuous-archiving.html#BACKUP-ARCHIVING-WAL

还要检查wal_keep_segmentsmax_wal_size...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多