云数据库 GAUSSDB-实现内部功能的函数:pgfincore

时间:2025-06-03 09:35:44

pgfincore

描述:这个函数提供关于文件系统缓存(页面缓存)的信息。

示例:

cedric=# SELECT * FROM pgfincore('pgbench_accounts');
 relpath       | segment | os_page_size | rel_os_pages | pages_mem | group_mem | os_pages_free | databit | pages_dirty | group_dirty  
--------------------+---------+--------------+--------------+-----------+-----------+---------------+---------+-------------+-------------
base/11874/16447   |       0 |         4096 |       262144 |         3 |         1 |        408444 |         |           0 |           0
base/11874/16447.1 |       1 |         4096 |        65726 |         0 |         0 |        408444 |         |           0 |           0

对于一个指定的关系,该函数返回包括以下字段:

  • relpath : 该关系的路径。
  • segment : 被分析的段号。
  • os_page_size : 一个页面的大小。
  • rel_os_pages : 该关系的总页面数。
  • pages_mem : 关系在页面缓存中的页面总数。 (不是来自PostgreSQL的共享缓冲区,而是操作系统缓存) 。
  • group_mem : 相邻pages_mem的组数。
  • os_page_free : 操作系统页面缓存中空闲的页面数。
  • databit : 该文件的varbit映射,因为该字段的大小关系,若需要输出该字段,需要使用pgfincore('pgbench_accounts',true)来激活它。
  • pages_dirty : 如果定义了HAVE_FINCORE常量,平台将提供相关的信息,和pages_mem类似,只不过是对于脏页面的。
  • group_dirty : 如果定义了HAVE_FINCORE常量,平台将提供相关的信息,和group_mem类似,只不过是对于脏页面的。
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-2065.html