mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Since pgstattuple v1.5 hasn't been released yet, no need for a new extension version. The new function exposes statistics about hash indexes similar to what other pgstatindex functions return for other index types. Ashutosh Sharma, reviewed by Kuntal Ghosh. Substantial further revisions by me.
54 lines
2.0 KiB
SQL
54 lines
2.0 KiB
SQL
CREATE EXTENSION pgstattuple;
|
|
|
|
--
|
|
-- It's difficult to come up with platform-independent test cases for
|
|
-- the pgstattuple functions, but the results for empty tables and
|
|
-- indexes should be that.
|
|
--
|
|
|
|
create table test (a int primary key, b int[]);
|
|
|
|
select * from pgstattuple('test');
|
|
select * from pgstattuple('test'::text);
|
|
select * from pgstattuple('test'::name);
|
|
select * from pgstattuple('test'::regclass);
|
|
select pgstattuple(oid) from pg_class where relname = 'test';
|
|
select pgstattuple(relname) from pg_class where relname = 'test';
|
|
|
|
select version, tree_level,
|
|
index_size / current_setting('block_size')::int as index_size,
|
|
root_block_no, internal_pages, leaf_pages, empty_pages, deleted_pages,
|
|
avg_leaf_density, leaf_fragmentation
|
|
from pgstatindex('test_pkey');
|
|
select version, tree_level,
|
|
index_size / current_setting('block_size')::int as index_size,
|
|
root_block_no, internal_pages, leaf_pages, empty_pages, deleted_pages,
|
|
avg_leaf_density, leaf_fragmentation
|
|
from pgstatindex('test_pkey'::text);
|
|
select version, tree_level,
|
|
index_size / current_setting('block_size')::int as index_size,
|
|
root_block_no, internal_pages, leaf_pages, empty_pages, deleted_pages,
|
|
avg_leaf_density, leaf_fragmentation
|
|
from pgstatindex('test_pkey'::name);
|
|
select version, tree_level,
|
|
index_size / current_setting('block_size')::int as index_size,
|
|
root_block_no, internal_pages, leaf_pages, empty_pages, deleted_pages,
|
|
avg_leaf_density, leaf_fragmentation
|
|
from pgstatindex('test_pkey'::regclass);
|
|
|
|
select pg_relpages('test');
|
|
select pg_relpages('test_pkey');
|
|
select pg_relpages('test_pkey'::text);
|
|
select pg_relpages('test_pkey'::name);
|
|
select pg_relpages('test_pkey'::regclass);
|
|
select pg_relpages(oid) from pg_class where relname = 'test_pkey';
|
|
select pg_relpages(relname) from pg_class where relname = 'test_pkey';
|
|
|
|
create index test_ginidx on test using gin (b);
|
|
|
|
select * from pgstatginindex('test_ginidx');
|
|
|
|
create index test_hashidx on test using hash (b);
|
|
|
|
select * from pgstathashindex('test_hashidx');
|