diff options
Diffstat (limited to 'contrib/dbsize/README.dbsize')
-rw-r--r-- | contrib/dbsize/README.dbsize | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/contrib/dbsize/README.dbsize b/contrib/dbsize/README.dbsize deleted file mode 100644 index e4b92553a41..00000000000 --- a/contrib/dbsize/README.dbsize +++ /dev/null @@ -1,115 +0,0 @@ -This module contains several functions that report the on-disk size of a -given database object in bytes: - - int8 database_size(name) - int8 relation_size(text) - int8 indexes_size(text) - int8 total_relation_size(text) - - int8 pg_database_size(oid) - int8 pg_relation_size(oid) - int8 pg_tablespace_size(oid) - - text pg_size_pretty(int8) - - setof record relation_size_components(text) - -The first four functions take the name of the object (possibly -schema-qualified for the latter three) and returns the size of the -on-disk files in bytes. - - SELECT database_size('template1'); - SELECT relation_size('pg_class'); - SELECT indexes_size('pg_class'); - SELECT total_relation_size('pg_class'); - -These functions take object OIDs: - - SELECT pg_database_size(1); -- template1 database - SELECT pg_relation_size(1259); -- pg_class table size - SELECT pg_tablespace_size(1663); -- pg_default tablespace - -The indexes_size() function returns the total size of the indices for a -relation, including any toasted indices. - -The total_relation_size() function returns the total size of the relation, -all its indices, and any toasted data. - -Please note that relation_size and pg_relation_size report only the size of -the selected relation itself; any related indexes or toast tables are not -counted. To obtain the total size of a table including all indices and -toasted data, use total_relation_size(). - -The last function, relation_size_components(), returns a set of rows -showing the sizes of the component relations constituting the input -relation. - -Examples -======== - -I've loaded the following table with a little less than 3 MB of data for -illustration: - - create table fat ( id serial, data varchar ); - create index fat_uidx on fat (id); - create index fat_idx on fat (data); - -You can retrieve a rowset containing constituent sizes as follows: - -# SELECT relation_size_components('fat'); - relation_size_components ----------------------------------------------------- - (2088960,65536,2891776,fat,r,59383,59383) - (32768,704512,737280,pg_toast_59383,t,59386,59386) - (0,32768,32768,pg_toast_59383_index,i,59388,59388) - (0,2039808,2039808,fat_idx,i,59389,59389) - (0,49152,49152,fat_uidx,i,59911,59911) -(5 rows) - -To see a more readable output of the rowset: - - SELECT * - FROM relation_size_components('fat') AS (idxsize BIGINT, - datasize BIGINT, - totalsize BIGINT, - relname NAME, - kind "char", - relid OID, - node OID) - ORDER BY totalsize; - - idxsize | datasize | totalsize | relname | kind | relid | node ----------+----------+-----------+----------------------+------+-------+------- - 0 | 32768 | 32768 | pg_toast_59383_index | i | 59388 | 59388 - 0 | 49152 | 49152 | fat_uidx | i | 59911 | 59911 - 32768 | 704512 | 737280 | pg_toast_59383 | t | 59386 | 59386 - 0 | 2039808 | 2039808 | fat_idx | i | 59389 | 59389 - 2088960 | 65536 | 2891776 | fat | r | 59383 | 59383 -(5 rows) - -To see the sum total size of a relation: - -# select total_relation_size('fat'); - total_relation_size -------------------------- - 2891776 -(1 row) - -To see just the size of the uncompressed relation data: - -# select relation_size('fat'); - relation_size ---------------- - 65536 -(1 row) - -To see the size of all related indices: - -# select indexes_size('fat'); - indexes_size --------------- - 2088960 -(1 row) - -To install, just run make; make install. Then load the functions -into any database using dbsize.sql. |