Global SysCache特性函数

  • gs_gsc_table_detail(database_id default NULL, rel_id default NULL)

    描述:查看数据库里全局系统缓存的表元数据。调用该函数的用户需要具有SYSADMIN权限。

    参数:指定需要查看全局系统缓存的数据库和表,database_id默认值NULL或者-1表示所有的数据库,0表示共享表,其他数字表示指定数据库及共享表,rel_id表示指定表的oid,默认值NULL或者-1表示所有的表,其他值表示指定的表,表不存在会报错。

    返回值类型:Tuple

    示例:

    1. select * from gs_gsc_table_detail(-1) limit 1;
    2. database_oid | database_name | reloid | relname | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relhasindex | relisshared | relkind | relnatts | relhasoids | relhaspkey | parttype | tdhasuids | attnames | extinfo
    3. --------------+---------------+--------+-------------------------+--------------+---------+-----------+----------+-------+-------------+---------------+-------------+-------------+---------+----------+------------+------------+----------+-----------+-----------+---------
    4. 0 | | 2676 | pg_authid_rolname_index | 11 | 0 | 0 | 10 | 403 | 0 | 1664 | f | t | i | 1 | f | f | n | f | 'rolname' |
    5. (1 row)
  • gs_gsc_catalog_detail(database_id default NULL, rel_id default NULL)

    描述:查看数据库里全局系统缓存的系统表行信息。调用该函数的用户需要具有SYSADMIN权限。

    参数:指定需要查看全局系统缓存的数据库和表,database_id 默认值NULL或者-1表示所有的数据库,0表示共享表,其他数字表示指定数据库及共享表, rel_id表示指定表的id,仅包含所有有系统缓存的系统表,默认值NULL或者-1表示所有的表,其他值表示指定的表,表不存在会报错。

    返回值类型:Tuple

    示例:

    1. openGauss=#
    2. select * from gs_gsc_catalog_detail(16574, 1260);
    3. database_id | database_name | rel_id | rel_name | cache_id | self | ctid | infomask | infomask2 | hash_value | refcount
    4. -------------+---------------+--------+-----------+----------+--------+--------+----------+-----------+------------+----------
    5. 0 | | 1260 | pg_authid | 10 | (0, 9) | (0, 9) | 10507 | 26 | 531311568 | 10
    6. 0 | | 1260 | pg_authid | 11 | (0, 4) | (0, 4) | 2313 | 26 | 365368336 | 1
    7. 0 | | 1260 | pg_authid | 11 | (0, 9) | (0, 9) | 10507 | 26 | 3911517328 | 10
    8. 0 | | 1260 | pg_authid | 11 | (0, 7) | (0, 7) | 2313 | 26 | 1317799983 | 1
    9. 0 | | 1260 | pg_authid | 11 | (0, 5) | (0, 5) | 2313 | 26 | 3664347448 | 1
    10. 0 | | 1260 | pg_authid | 11 | (0, 1) | (0, 1) | 2313 | 26 | 276477273 | 1
    11. 0 | | 1260 | pg_authid | 11 | (0, 3) | (0, 3) | 2313 | 26 | 2465837659 | 1
    12. 0 | | 1260 | pg_authid | 11 | (0, 8) | (0, 8) | 2313 | 26 | 3205288035 | 1
    13. 0 | | 1260 | pg_authid | 11 | (0, 6) | (0, 6) | 2313 | 26 | 131811687 | 1
    14. 0 | | 1260 | pg_authid | 11 | (0, 2) | (0, 2) | 2313 | 26 | 1226484587 | 1
    15. (10 rows)
  • gs_gsc_clean(database_id default NULL)

    描述:清理global syscache的缓存,需要注意,正在使用中的数据不会被清理。调用该函数的用户需要具有SYSADMIN权限。

    参数:指定需要清理全局系统缓存的数据库,默认值NULL或者-1表示清理所有的数据库全局系统缓存,0表示只清理共享表的全局系统缓存,其他数字表示清理指定数据库以及共享表的全局系统缓存,表不存在会报错。

    返回值类型:bool

    示例:

    1. openGauss=# select * from gs_gsc_clean();
    2. gs_gsc_clean
    3. --------------
    4. t
    5. (1 row)
  • gs_gsc_dbstat_info(database_id default NULL)

    描述:获取本地节点的GSC的内存统计信息,包括tuple、relation、partition的缓存查询,命中,加载、失效、占用空间信息,DB级别的淘汰信息,线程引用信息,内存占用信息。可以用于定位性能问题,例如当发现hits/searches数组远小于1时,可能是global_syscache_threshold设置太小,导致查询命中率下降。调用该函数的用户需要具有SYSADMIN权限。

    参数:指定需要查看的数据库全局系统缓存统计信息,NULL或者-1表示查看所有的数据库,0表示只查看共享表信息,其他数字表示查看指定的数据库和共享表的信息。不合法的输入值,表不存在会报错。

    返回值类型:Tuple

    示例:

    1. openGauss=# select * from gs_gsc_dbstat_info();
    2. database_id | database_name | tup_searches | tup_hits | tup_miss | tup_count | tup_dead | tup_memory | rel_searches | rel_hits | rel_mis
    3. s | rel_count | rel_dead | rel_memory | part_searches | part_hits | part_miss | part_count | part_dead | part_memory | total_memory | swa
    4. pout_count | refcount
    5. -------------+---------------+--------------+----------+----------+-----------+----------+------------+--------------+----------+--------
    6. --+-----------+----------+------------+---------------+-----------+-----------+------------+-----------+-------------+--------------+----
    7. -----------+----------
    8. 0 | | 300 | 235 | 31 | 22 | 2 | 9752 | 598 | 108 | 1
    9. 8 | 18 | 0 | 77720 | 0 | 0 | 0 | 0 | 0 | 0 | 752912 |
    10. 0 | 0
    11. 16574 | postgres | 3368 | 2289 | 329 | 273 | 0 | 92593 | 1113 | 524 | 4
    12. 8 | 48 | 0 | 340456 | 0 | 0 | 0 | 0 | 0 | 0 | 4124792 |
    13. 0 | 10
    14. (2 rows)