pg_prewarm

by PG国际社区
发布于 2020/05/08
浏览量 19,823

标签:数据缓存

 

PostgreSQL内核中引入了一个很有意思的插件,pg_prewarm。可以用于在系统重启时,手动加载经常访问的表到操作系统的cache或PG的shared buffer,从而减少检查系统重启对应用的影响。

 

pg_prewarm的开发者在设计pg_prewarm时,把它设计成一个执行单一任务的工具,尽求简单,所以我们看到的pg_prearm功能和实现都非常简单。

 

该模块是PostgreSQL的contrib目录中的一部分,通常是你的服务器在默认情况下可用。无需安装其他第三方软件。PostgreSQL 默认具有您所需的全部。


pg_prewarm有三种模式:

  1. PREFETCH: 异步获取数据块到操作系统缓存中,而不是PG缓冲(提示只是操作系统缓存)

  2. READ:读取所有的数据块到虚拟缓存中,然后写到操作系统缓存中(提示只是操作系统缓存)

  3. BUFFER:读取所有的或者一些数据块到数据库缓冲中。

     

PostgreSQL源码已包含,无需下载!


使用帮助:

https://www.postgresql.org/docs/11/pgprewarm.html

https://www.cybertec-postgresql.com/en/prewarming-postgresql-i-o-caches/