我有 MySQL 和 Oracle 数据库的管理经验。我最近开始使用 PostgreSQL,但找不到 PostgreSQL 根据wal_keep_segments
,max_wal_size
和的设置通过删除或添加来管理 WAL 文件的原因min_wal_size
。
MySQL 只是继续生成新的事务文件,而 Oracle 会使用 REDO 日志文件和存档来轮换事务文件。不知道PostgreSQL为什么要通过改变WAL文件的数量来管理WAL。为什么不只保留固定数量的 WAL 文件?
我有 MySQL 和 Oracle 数据库的管理经验。我最近开始使用 PostgreSQL,但找不到 PostgreSQL 根据wal_keep_segments
,max_wal_size
和的设置通过删除或添加来管理 WAL 文件的原因min_wal_size
。
MySQL 只是继续生成新的事务文件,而 Oracle 会使用 REDO 日志文件和存档来轮换事务文件。不知道PostgreSQL为什么要通过改变WAL文件的数量来管理WAL。为什么不只保留固定数量的 WAL 文件?
Postgres 临时添加 WAL 段
max_wal_size
以吸收峰值事务负载而不强制检查点——与 Oracle 不同。它删除不需要的 WAL seqments 以避免不必要地用完日志文件系统。
在性能和资源(在本例中为日志磁盘空间)利用率之间总是存在权衡,不同的 DBMS 使用不同的方法来解决这个问题。
wal_keep_segments
在这种情况下,PostgreSQL 允许您使用,max_wal_size
和的值,让您找到最适合您的平衡点min_wal_size
。