pg_prewarm
标签:数据缓存
PostgreSQL内核中引入了一个很有意思的插件,pg_prewarm。可以用于在系统重启时,手动加载经常访问的表到操作系统的cache或PG的shared buffer,从而减少检查系统重启对应用的影响。
pg_prewarm的开发者在设计pg_prewarm时,把它设计成一个执行单一任务的工具,尽求简单,所以我们看到的pg_prearm功能和实现都非常简单。
该模块是PostgreSQL的contrib目录中的一部分,通常是你的服务器在默认情况下可用。无需安装其他第三方软件。PostgreSQL 默认具有您所需的全部。
pg_prewarm有三种模式:
PREFETCH: 异步获取数据块到操作系统缓存中,而不是PG缓冲(提示只是操作系统缓存)
READ:读取所有的数据块到虚拟缓存中,然后写到操作系统缓存中(提示只是操作系统缓存)
BUFFER:读取所有的或者一些数据块到数据库缓冲中。
PostgreSQL源码已包含,无需下载!
使用帮助:
https://www.postgresql.org/docs/11/pgprewarm.html
https://www.cybertec-postgresql.com/en/prewarming-postgresql-i-o-caches/