Postgresql Postgres pg_预热以使表格保留在缓冲区中,删除表格后给出0

Postgresql Postgres pg_预热以使表格保留在缓冲区中,删除表格后给出0,postgresql,postgresql-9.5,Postgresql,Postgresql 9.5,我按照本教程中概述的步骤使用pg_prewarmextension在PostgreSQL中预热缓冲区缓存: 第一次运行时,我得到了1,结果是: mydb=> SELECT pg_prewarm('useraccount'); pg_prewarm ------------ 1 在那之后,我不得不放下桌子,重新创建它。从那时起,当我运行相同的命令时,我总是得到0。我不确定这是意料之中的还是我遗漏了什么 mydb=> SELECT pg_prewarm('us

我按照本教程中概述的步骤使用
pg_prewarm
extension在PostgreSQL中预热缓冲区缓存:

第一次运行时,我得到了
1
,结果是:

mydb=> SELECT pg_prewarm('useraccount');
 pg_prewarm 
------------
          1
在那之后,我不得不放下桌子,重新创建它。从那时起,当我运行相同的命令时,我总是得到
0
。我不确定这是意料之中的还是我遗漏了什么

mydb=> SELECT pg_prewarm('useraccount');
 pg_prewarm 
------------
          0

contrib/pg_prewarm/pg_prewarm.c
中的函数注释说明:

*[…]该
*返回值是成功预热的块数。

所以第一次,表中有1个块。删除并重新创建表后,表为空,因此缓存了0个块。

这很有意义,谢谢。我刚刚在表中创建了一个新行后进行了测试,现在它返回1。