mirror of https://github.com/postgres/postgres
This allows us to specify the target relation with several expressions, 'relname', 'schemaname.relname' and OID in all pgstattuple functions. pgstatindex() and pg_relpages() could not accept OID as the argument so far. Per discussion on -hackers, we decided to keep two types of interfaces, with regclass-type and TEXT-type argument, for each pgstattuple function because of the backward-compatibility issue. The functions which have TEXT-type argument will be deprecated in the future release. Patch by Satoshi Nagayasu, reviewed by Rushabh Lathia and Fujii Masao.pull/6/head
parent
d26888bc4d
commit
1dc118660b
@ -0,0 +1,39 @@ |
||||
/* contrib/pgstattuple/pgstattuple--1.1--1.2.sql */ |
||||
|
||||
-- complain if script is sourced in psql, rather than via ALTER EXTENSION |
||||
\echo Use "ALTER EXTENSION pgstattuple UPDATE TO '1.2'" to load this file. \quit |
||||
|
||||
ALTER EXTENSION pgstattuple DROP FUNCTION pgstattuple(oid); |
||||
DROP FUNCTION pgstattuple(oid); |
||||
|
||||
CREATE FUNCTION pgstattuple(IN reloid regclass, |
||||
OUT table_len BIGINT, -- physical table length in bytes |
||||
OUT tuple_count BIGINT, -- number of live tuples |
||||
OUT tuple_len BIGINT, -- total tuples length in bytes |
||||
OUT tuple_percent FLOAT8, -- live tuples in % |
||||
OUT dead_tuple_count BIGINT, -- number of dead tuples |
||||
OUT dead_tuple_len BIGINT, -- total dead tuples length in bytes |
||||
OUT dead_tuple_percent FLOAT8, -- dead tuples in % |
||||
OUT free_space BIGINT, -- free space in bytes |
||||
OUT free_percent FLOAT8) -- free space in % |
||||
AS 'MODULE_PATHNAME', 'pgstattuplebyid' |
||||
LANGUAGE C STRICT; |
||||
|
||||
CREATE FUNCTION pgstatindex(IN relname regclass, |
||||
OUT version INT, |
||||
OUT tree_level INT, |
||||
OUT index_size BIGINT, |
||||
OUT root_block_no BIGINT, |
||||
OUT internal_pages BIGINT, |
||||
OUT leaf_pages BIGINT, |
||||
OUT empty_pages BIGINT, |
||||
OUT deleted_pages BIGINT, |
||||
OUT avg_leaf_density FLOAT8, |
||||
OUT leaf_fragmentation FLOAT8) |
||||
AS 'MODULE_PATHNAME', 'pgstatindexbyid' |
||||
LANGUAGE C STRICT; |
||||
|
||||
CREATE FUNCTION pg_relpages(IN relname regclass) |
||||
RETURNS BIGINT |
||||
AS 'MODULE_PATHNAME', 'pg_relpagesbyid' |
||||
LANGUAGE C STRICT; |
@ -1,5 +1,5 @@ |
||||
# pgstattuple extension |
||||
comment = 'show tuple-level statistics' |
||||
default_version = '1.1' |
||||
default_version = '1.2' |
||||
module_pathname = '$libdir/pgstattuple' |
||||
relocatable = true |
||||
|
Loading…
Reference in new issue