From: Bruce Momjian Date: Thu, 13 Jun 2002 05:15:22 +0000 (+0000) Subject: Move disk usage section into its own section. X-Git-Tag: REL7_3~1411 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d237c7c1847fe84a28e488a5055e05b2a3c6eef;p=postgresql Move disk usage section into its own section. --- diff --git a/doc/src/sgml/admin.sgml b/doc/src/sgml/admin.sgml index da8edaf011..24a770d368 100644 --- a/doc/src/sgml/admin.sgml +++ b/doc/src/sgml/admin.sgml @@ -1,5 +1,5 @@ @@ -32,8 +32,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.36 2001/10/16 23:57:06 &maintenance; &backup; &monitoring; + &diskusage; &wal; - &storage; &recovery; ®ress; &release; diff --git a/doc/src/sgml/diskusage.sgml b/doc/src/sgml/diskusage.sgml new file mode 100644 index 0000000000..6bec4e20b4 --- /dev/null +++ b/doc/src/sgml/diskusage.sgml @@ -0,0 +1,109 @@ + + + + Monitoring Disk Usage + + + Monitoring Disk Usage + + + disk usage + + + + Each table has a primary heap disk file where most of the data is + stored. To store long column values, there is also a + TOAST file associated with the table, named based on the + table's oid (actually pg_class.relfilenode), and an index on the + TOAST table. There also may be indexes associated with + the base table. + + + + You can monitor disk space from two places; from inside + psql and from the command line using + contrib/oid2name. Using psql you can + issue queries to see the disk usage for any table: + +play=# SELECT relfilenode, relpages +play-# FROM pg_class +play-# WHERE relname = 'customer'; + relfilenode | relpages +-------------+---------- + 16806 | 60 +(1 row) + + + + + Each page is typically 8 kilobytes. relpages is only + updated by VACUUM and ANALYZE. To show the + space used by TOAST tables, use a query based on the heap + relfilenode: + +play=# SELECT relname, relpages +play-# FROM pg_class +play-# WHERE relname = 'pg_toast_16806' or +play-# relname = 'pg_toast_16806_index' +play-# ORDER BY relname; + relname | relpages +----------------------+---------- + pg_toast_16806 | 0 + pg_toast_16806_index | 1 + + + + + You can easily display index usage too: + +play=# SELECT c2.relname, c2.relpages +play-# FROM pg_class c, pg_class c2, pg_index i +play-# WHERE c.relname = 'customer' AND +play-# c.oid = i.indrelid AND +play-# c2.oid = i.indexrelid +play-# ORDER BY c2.relname; + relname | relpages +----------------------+---------- + customer_id_indexdex | 26 + + + + + It is easy to find your largest files using psql: + +play=# SELECT relname, relpages +play-# FROM pg_class +play-# ORDER BY relpages DESC; + relname | relpages +----------------------+---------- + bigtable | 3290 + customer | 3144 + + + + + You can also use oid2name to show disk usage. See + README.oid2name for examples. It includes a script + shows disk usage for each database. + + + + + diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 1d7033c12a..b2fa6febc4 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -1,5 +1,5 @@ @@ -366,91 +366,6 @@ VACUUM - - Disk Space Maintenance - - - disk space - - - - Each table has a primary heap disk file where most of the data is - stored. To store long column values, there is also a - TOAST file associated with the table, named based on the - table's oid (actually pg_class.relfilenode), and an index on the - TOAST table. There also may be indexes associated with - the base table. - - - - You can monitor disk space from two places; from inside - psql and from the command line using - contrib/oid2name. Using psql you can - issue queries to see the disk usage for any table: - -play=# SELECT relfilenode, relpages -play-# FROM pg_class -play-# WHERE relname = 'customer'; - relfilenode | relpages --------------+---------- - 16806 | 60 -(1 row) - - - - - Each page is typically 8 kilobytes. relpages is only - updated by VACUUM and ANALYZE. To show the - space used by TOAST tables, use a query based on the heap - relfilenode: - -play=# SELECT relname, relpages -play-# FROM pg_class -play-# WHERE relname = 'pg_toast_16806' or -play-# relname = 'pg_toast_16806_index' -play-# ORDER BY relname; - relname | relpages -----------------------+---------- - pg_toast_16806 | 0 - pg_toast_16806_index | 1 - - - - - You can easily display index usage too: - -play=# SELECT c2.relname, c2.relpages -play-# FROM pg_class c, pg_class c2, pg_index i -play-# WHERE c.relname = 'customer' AND -play-# c.oid = i.indrelid AND -play-# c2.oid = i.indexrelid -play-# ORDER BY c2.relname; - relname | relpages -----------------------+---------- - customer_id_indexdex | 26 - - - - - It is easy to find your largest files using psql: - -play=# SELECT relname, relpages -play-# FROM pg_class -play-# ORDER BY relpages DESC; - relname | relpages -----------------------+---------- - bigtable | 3290 - customer | 3144 - - - - - You can also use oid2name to show disk usage. See - README.oid2name for examples. It includes a script - shows disk usage for each database. - - - Log File Maintenance diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml deleted file mode 100644 index 10ece92393..0000000000 --- a/doc/src/sgml/storage.sgml +++ /dev/null @@ -1,9 +0,0 @@ - -Disk Storage - - -This section needs to be written. Some information is in the FAQ. Volunteers? -- thomas 1998-01-11 - - -