【发布时间】:2019-12-20 14:32:46
【问题描述】:
我正在尝试了解 wal 文件的行为。数据库的wal相关设置如下:
"min_wal_size" "2GB"
"max_wal_size" "20GB"
"wal_segment_size" "16MB"
"wal_keep_segments" "0"
"checkpoint_completion_target" "0.8"
"checkpoint_timeout" "15min"
wal文件数始终为1281或更高:
SELECT COUNT(*) FROM pg_ls_dir('pg_xlog') WHERE pg_ls_dir ~ '^[0-9A-F]{24}';
-- count 1281
据我了解,这意味着 wal 文件目前永远不会低于 max_wal_size (1281 * 16 MB = 20496 MB = max_wal_size) ??
我希望 wal 文件的数量在达到检查点并且数据同步到磁盘后立即减少到最大值以下。但显然情况并非如此。我错过了什么?
【问题讨论】:
标签: postgresql postgresql-9.6 wal