Séb*_*ent 17 postgresql configuration restore checkpoint
在 PostgreSQL 9.2.2(Windows 32 位)下,我有一个pg_restore
命令可以系统地导致有关检查点频率的日志警告,例如:
LOG: checkpoints are occurring too frequently (17 seconds apart)
HINT: Consider increasing the configuration parameter "checkpoint_segments".
Run Code Online (Sandbox Code Playgroud)
该数据库大小约为 3.3 Gb,具有 112 个表/160 个视图,并在大约 14 分钟内恢复。
在 a 期间发生这种情况是否正常pg_restore
?
Erw*_*ter 19
在整个数据库还原期间并不少见,因为这是一项异常庞大的操作。如果您在正常操作期间看到这一点,请考虑checkpoint_segments
永久提高您的设置,就像错误消息提示一样。
您可能会遇到checkpoint_segments
在恢复之前设置更高然后再次降低它的麻烦。这甚至是手册所建议的(包括解释):
临时增加
checkpoint_segments
配置变量也可以使大数据加载速度更快。这是因为将大量数据加载到 PostgreSQL 中会导致检查点比正常的检查点频率(由checkpoint_timeout
配置变量指定)更频繁地发生 。每当检查点发生时,所有脏页都必须刷新到磁盘。通过checkpoint_segments
在批量数据加载期间临时增加 ,可以减少所需的检查点数量。
更详细的相关答案:
即将发布的新版本采用了更智能的方法。引用测试版发行说明:
checkpoint_segments
用min_wal_size
和max_wal_size
(Heikki Linnakangas)替换配置参数这允许分配大量 WAL 文件而不保留它们(如果不需要它们)。因此,默认值
max_wal_size
已增加到1GB
.
旁白:视图的数量几乎不相关,那些不包含任何数据,只是“配方”,即:查询和视图的一些属性。对于手头的问题,基本上只有备份文件的总大小很重要。
归档时间: |
|
查看次数: |
30305 次 |
最近记录: |