aboutsummaryrefslogtreecommitdiff
path: root/contrib/dbsize/dbsize.sql.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dbsize/dbsize.sql.in')
-rw-r--r--contrib/dbsize/dbsize.sql.in132
1 files changed, 0 insertions, 132 deletions
diff --git a/contrib/dbsize/dbsize.sql.in b/contrib/dbsize/dbsize.sql.in
deleted file mode 100644
index 6d08d289c01..00000000000
--- a/contrib/dbsize/dbsize.sql.in
+++ /dev/null
@@ -1,132 +0,0 @@
-CREATE FUNCTION database_size (name) RETURNS bigint
- AS 'MODULE_PATHNAME', 'database_size'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION relation_size (text) RETURNS bigint
- AS 'MODULE_PATHNAME', 'relation_size'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION pg_tablespace_size(oid) RETURNS bigint
- AS 'MODULE_PATHNAME', 'pg_tablespace_size'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION pg_database_size(oid) RETURNS bigint
- AS 'MODULE_PATHNAME', 'pg_database_size'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION pg_relation_size(oid) RETURNS bigint
- AS 'MODULE_PATHNAME', 'pg_relation_size'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION pg_size_pretty(bigint) RETURNS text
- AS 'MODULE_PATHNAME', 'pg_size_pretty'
- LANGUAGE C STRICT;
-
-CREATE FUNCTION total_relation_size (text) RETURNS bigint AS '
-SELECT pg_relation_size(r.oid)
- + COALESCE(pg_relation_size(t.oid), 0)::bigint
- + COALESCE(pg_relation_size(ti.oid), 0)::bigint
- + COALESCE(SUM(pg_relation_size(i.indexrelid)), 0)::bigint
- + COALESCE(SUM(pg_relation_size(it.oid)), 0)::bigint
- + COALESCE(SUM(pg_relation_size(iti.oid)), 0)::bigint AS bytes
-FROM pg_class r
- LEFT JOIN pg_class t ON (r.reltoastrelid = t.oid)
- LEFT JOIN pg_class ti ON (t.reltoastidxid = ti.oid)
- LEFT JOIN pg_index i ON (r.oid = i.indrelid)
- LEFT JOIN pg_class ir ON (ir.oid = i.indexrelid)
- LEFT JOIN pg_class it ON (ir.reltoastrelid = it.oid)
- LEFT JOIN pg_class iti ON (it.reltoastidxid = iti.oid)
-WHERE r.relname = \$1
-GROUP BY r.oid, t.oid, ti.oid
-' LANGUAGE SQL;
-
-CREATE FUNCTION indexes_size (text) RETURNS bigint
- AS '
-SELECT COALESCE(SUM(pg_relation_size(ir.oid)), 0)::bigint
- + COALESCE(SUM(pg_relation_size(it.oid)), 0)::bigint
- + COALESCE(SUM(pg_relation_size(iti.oid)), 0)::bigint AS bytes
-FROM pg_class r
- LEFT JOIN pg_index i ON (r.oid = i.indrelid)
- LEFT JOIN pg_class ir ON (ir.oid = i.indexrelid)
- LEFT JOIN pg_class it ON (ir.reltoastrelid = it.oid)
- LEFT JOIN pg_class iti ON (it.reltoastidxid = iti.oid)
-WHERE r.relname = \$1
-' LANGUAGE SQL;
-
-CREATE FUNCTION relation_size_components (text) RETURNS SETOF RECORD
- AS '
--- relation size
-SELECT indexes_size(r.relname) AS indexes_size,
- relation_size(r.relname) AS data_size,
- total_relation_size(r.relname) AS total_size,
- r.relname, r.relkind, r.oid AS relid, r.relfilenode
-FROM pg_class r
-WHERE r.relname = \$1
-
-UNION ALL
-
--- relation toast size
-SELECT indexes_size(toast.relname) AS indexes_size,
- relation_size(''pg_toast.''||toast.relname) AS data_size,
- total_relation_size(toast.relname) AS total_size,
- toast.relname, toast.relkind, toast.oid AS relid, toast.relfilenode
-FROM pg_class r, pg_class toast
-WHERE r.reltoastrelid = toast.oid
- AND r.relname = \$1
-
-UNION ALL
-
--- relation toast index size
-SELECT indexes_size(toastidxr.relname) AS indexes_size,
- relation_size(''pg_toast.''||toastidxr.relname) AS data_size,
- total_relation_size(toastidxr.relname) AS total_size,
- toastidxr.relname, toastidxr.relkind,
- toastidxr.oid AS relid, toastidxr.relfilenode
-FROM pg_class r, pg_index toastidx, pg_class toastidxr
-WHERE r.relname = \$1
- AND r.reltoastrelid = toastidx.indrelid
- AND toastidx.indexrelid = toastidxr.oid
-
-UNION ALL
-
--- relation indices size
-SELECT indexes_size(idxr.relname) AS indexes_size,
- relation_size(idxr.relname) AS data_size,
- total_relation_size(idxr.relname) AS total_size,
- idxr.relname, idxr.relkind, idxr.oid AS relid, idxr.relfilenode
-FROM pg_class r, pg_class idxr, pg_index idx
-WHERE r.relname = \$1
- AND r.oid = idx.indrelid
- AND idx.indexrelid = idxr.oid
-
-UNION ALL
-
--- relation indices toast size
-SELECT indexes_size(idxtoastr.relname) AS indexes_size,
- relation_size(''pg_toast.''||idxtoastr.relname) AS data_size,
- total_relation_size(idxtoastr.relname) AS total_size,
- idxtoastr.relname, idxtoastr.relkind, idxtoastr.oid AS relid,
- idxtoastr.relfilenode
-FROM pg_class r, pg_class idxr, pg_index idx, pg_class idxtoastr
-WHERE r.relname = \$1
- AND r.oid = idx.indrelid
- AND idx.indexrelid = idxr.oid
- AND idxr.reltoastrelid = idxtoastr.oid
-
-UNION ALL
-
--- relation indices toast index size
-SELECT indexes_size(idxtoastidxr.relname) AS indexes_size,
- relation_size(''pg_toast.''||idxtoastidxr.relname) AS data_size,
- total_relation_size(idxtoastidxr.relname) AS total_size,
- idxtoastidxr.relname, idxtoastidxr.relkind,
- idxtoastidxr.oid AS relid, idxtoastidxr.relfilenode
-FROM pg_class r, pg_class idxr, pg_index idx, pg_class idxtoast,
- pg_class idxtoastidxr
-WHERE r.relname = \$1
- AND r.oid = idx.indrelid
- AND idx.indexrelid = idxr.oid
- AND idxr.reltoastrelid = idxtoast.oid
- AND idxtoast.reltoastrelid = idxtoastidxr.oid
-' LANGUAGE SQL;
-