3

我如何知道有关 postgresql 索引的详细信息,例如有多少节点和树高?

可以访问数据结构本身吗?

我还没有找到任何公开这样详细信息的目录表

提前致谢!

4

2 回答 2

2

请参阅 pageinspect 扩展中的 bt_metap 函数。

http://www.postgresql.org/docs/current/static/pageinspect.html

于 2013-10-03T16:25:37.803 回答
1

您可以使用 pgstattuple 扩展。

create extension pgstattuple;
SELECT * FROM pgstatindex('your_index_name');

例如,

ycsb=# select * from pgstatindex('usertable_pkey');
 version | tree_level | index_size | root_block_no | internal_pages | leaf_pages | empty_pages | deleted_pages | avg_leaf_density | leaf_fragmentation 
---------+------------+------------+---------------+----------------+------------+-------------+---------------+------------------+--------------------
       2 |          3 | 5488721920 |         44337 |           4464 |     665545 |           0 |             0 |               52 |                 11
(1 row)

可以参考文档; https://www.postgresql.org/docs/current/static/pgstattuple.html

于 2017-02-15T22:21:31.567 回答