postgresql/contrib/dbsize
Bruce Momjian 528ac10c7c The current implementation of dbsize doesn't handle tables in
tablespaces correctly, and is quite restricted on objects covered (only
tables and databases, but not tablespaces and indexes).

The attached patch contributes:

- database_size(name)
- relation_size(text)
These are the well-known functions, tablespace-aware.

- pg_tablespace_size(oid)
- pg_database_size(oid)
- pg_relation_size(oid)
Tablespace-aware implementations, used by the upper functions.
pg_relation_size will report sizes of indexes as well.

- pg_size_pretty(bigint)
Formatting of sizes, to display '146MB' instead of '152885668'

Andreas Pflug
2004-09-02 00:55:22 +00:00
..
dbsize.c The current implementation of dbsize doesn't handle tables in 2004-09-02 00:55:22 +00:00
dbsize.sql.in The current implementation of dbsize doesn't handle tables in 2004-09-02 00:55:22 +00:00
Makefile > Please find enclose a submission to fix these problems. 2004-08-20 20:13:10 +00:00
README.dbsize Update dbsize documentation with: 2002-06-23 20:09:23 +00:00

This module contains two functions that report the size of a given
database or relation.  E.g.,

SELECT database_size('template1');
SELECT relation_size('pg_class');

These functions report the actual file system space.  Thus, users can
avoid digging through the details of the database directories.

Copy this directory to contrib/dbsize in your PostgreSQL source tree.
Then just run make; make install.  Finally, load the functions into any
database using dbsize.sql.

When computing the size of a table, it does not include TOAST or index
disk space.