当我们进行explain (analyze,buffers) the query
时,我们会得到结果并显示来自缓存的数据量以及来自磁盘的数据量。
但是postgres中有两个层,一个是操作系统缓存和共享缓冲区本身。查询计划是显示来自shared_buffers还是OS缓存或两者的缓存?
有个扩展可以单独看到它们,即pgfincore和pg_buffer_cache,但是我在查询计划中看到了什么数据?它是属于shared_buffers / OS缓存还是只是两者合并?
答案 0 :(得分:2)
Postgres只控制并了解自己的缓存。它无法了解操作系统的缓存管理。
它是否属于shared_buffers / OS缓存,或者两者都属于组合?
这些数字仅与shared_buffers相关,而不是与操作系统的缓存有关。