标签:数据缓存
PgFincore 包含一组用于管理 PostgreSQL 内存中页面的函数。
使用PostgreSQL,每个表或索引通常都分成1GB的段,并且每个段都分为内存中的页面和文件系统的块。
这些功能使您可以知道某个关系中的哪个磁盘块以及多少磁盘块在操作系统的页面缓存中。它可以将结果提供为VarBit,并可以存储在表中。然后,使用此表,由于流复制,甚至在其他服务器中,也可以为该关系的每个块恢复页面缓存状态。
其他功能用于在整个关系(每个段)上设置POSIX_FADVISE标志。比较有用的可能是WILLNEED和DONTNEED,它们分别从页面缓存中推入和弹出关系的每个段。
至少使用表名或索引名(或oid)作为参数调用每个函数,并遍历关系的每个段。