mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Move disk usage section into its own section.
This commit is contained in:
parent
5612949ff8
commit
2d237c7c18
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.36 2001/10/16 23:57:06 tgl Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.37 2002/06/13 05:15:22 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<book id="admin">
|
<book id="admin">
|
||||||
@ -32,8 +32,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.36 2001/10/16 23:57:06
|
|||||||
&maintenance;
|
&maintenance;
|
||||||
&backup;
|
&backup;
|
||||||
&monitoring;
|
&monitoring;
|
||||||
|
&diskusage;
|
||||||
&wal;
|
&wal;
|
||||||
&storage;
|
|
||||||
&recovery;
|
&recovery;
|
||||||
®ress;
|
®ress;
|
||||||
&release;
|
&release;
|
||||||
|
109
doc/src/sgml/diskusage.sgml
Normal file
109
doc/src/sgml/diskusage.sgml
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<!--
|
||||||
|
$Header: /cvsroot/pgsql/doc/src/sgml/diskusage.sgml,v 1.1 2002/06/13 05:15:22 momjian Exp $
|
||||||
|
-->
|
||||||
|
|
||||||
|
<chapter id="diskusage">
|
||||||
|
<title>Monitoring Disk Usage</title>
|
||||||
|
|
||||||
|
<sect1 id="disk-usage">
|
||||||
|
<title>Monitoring Disk Usage</Title>
|
||||||
|
|
||||||
|
<indexterm zone="disk-usage">
|
||||||
|
<primary>disk usage</primary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Each table has a primary heap disk file where most of the data is
|
||||||
|
stored. To store long column values, there is also a
|
||||||
|
<acronym>TOAST</> file associated with the table, named based on the
|
||||||
|
table's oid (actually pg_class.relfilenode), and an index on the
|
||||||
|
<acronym>TOAST</> table. There also may be indexes associated with
|
||||||
|
the base table.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You can monitor disk space from two places; from inside
|
||||||
|
<application>psql</> and from the command line using
|
||||||
|
<application>contrib/oid2name</>. Using <application>psql</> you can
|
||||||
|
issue queries to see the disk usage for any table:
|
||||||
|
<programlisting>
|
||||||
|
play=# SELECT relfilenode, relpages
|
||||||
|
play-# FROM pg_class
|
||||||
|
play-# WHERE relname = 'customer';
|
||||||
|
relfilenode | relpages
|
||||||
|
-------------+----------
|
||||||
|
16806 | 60
|
||||||
|
(1 row)
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Each page is typically 8 kilobytes. <literal>relpages</> is only
|
||||||
|
updated by <command>VACUUM</> and <command>ANALYZE</>. To show the
|
||||||
|
space used by <acronym>TOAST</> tables, use a query based on the heap
|
||||||
|
relfilenode:
|
||||||
|
<programlisting>
|
||||||
|
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
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You can easily display index usage too:
|
||||||
|
<programlisting>
|
||||||
|
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
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is easy to find your largest files using <application>psql</>:
|
||||||
|
<programlisting>
|
||||||
|
play=# SELECT relname, relpages
|
||||||
|
play-# FROM pg_class
|
||||||
|
play-# ORDER BY relpages DESC;
|
||||||
|
relname | relpages
|
||||||
|
----------------------+----------
|
||||||
|
bigtable | 3290
|
||||||
|
customer | 3144
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You can also use <application>oid2name</> to show disk usage. See
|
||||||
|
<filename>README.oid2name</> for examples. It includes a script
|
||||||
|
shows disk usage for each database.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<!-- Keep this comment at the end of the file
|
||||||
|
Local variables:
|
||||||
|
mode:sgml
|
||||||
|
sgml-omittag:nil
|
||||||
|
sgml-shorttag:t
|
||||||
|
sgml-minimize-attributes:nil
|
||||||
|
sgml-always-quote-attributes:t
|
||||||
|
sgml-indent-step:1
|
||||||
|
sgml-indent-data:t
|
||||||
|
sgml-parent-document:nil
|
||||||
|
sgml-default-dtd-file:"./reference.ced"
|
||||||
|
sgml-exposed-tags:nil
|
||||||
|
sgml-local-catalogs:("/usr/lib/sgml/catalog")
|
||||||
|
sgml-local-ecat-files:nil
|
||||||
|
End:
|
||||||
|
-->
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.13 2002/06/13 04:36:50 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.14 2002/06/13 05:15:22 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="maintenance">
|
<chapter id="maintenance">
|
||||||
@ -366,91 +366,6 @@ VACUUM
|
|||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="diskspace-maintenance">
|
|
||||||
<title>Disk Space Maintenance</title>
|
|
||||||
|
|
||||||
<indexterm zone="diskspace-maintenance">
|
|
||||||
<primary>disk space</primary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Each table has a primary heap disk file where most of the data is
|
|
||||||
stored. To store long column values, there is also a
|
|
||||||
<acronym>TOAST</> file associated with the table, named based on the
|
|
||||||
table's oid (actually pg_class.relfilenode), and an index on the
|
|
||||||
<acronym>TOAST</> table. There also may be indexes associated with
|
|
||||||
the base table.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can monitor disk space from two places; from inside
|
|
||||||
<application>psql</> and from the command line using
|
|
||||||
<application>contrib/oid2name</>. Using <application>psql</> you can
|
|
||||||
issue queries to see the disk usage for any table:
|
|
||||||
<programlisting>
|
|
||||||
play=# SELECT relfilenode, relpages
|
|
||||||
play-# FROM pg_class
|
|
||||||
play-# WHERE relname = 'customer';
|
|
||||||
relfilenode | relpages
|
|
||||||
-------------+----------
|
|
||||||
16806 | 60
|
|
||||||
(1 row)
|
|
||||||
</programlisting>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Each page is typically 8 kilobytes. <literal>relpages</> is only
|
|
||||||
updated by <command>VACUUM</> and <command>ANALYZE</>. To show the
|
|
||||||
space used by <acronym>TOAST</> tables, use a query based on the heap
|
|
||||||
relfilenode:
|
|
||||||
<programlisting>
|
|
||||||
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
|
|
||||||
</programlisting>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can easily display index usage too:
|
|
||||||
<programlisting>
|
|
||||||
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
|
|
||||||
</programlisting>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
It is easy to find your largest files using <application>psql</>:
|
|
||||||
<programlisting>
|
|
||||||
play=# SELECT relname, relpages
|
|
||||||
play-# FROM pg_class
|
|
||||||
play-# ORDER BY relpages DESC;
|
|
||||||
relname | relpages
|
|
||||||
----------------------+----------
|
|
||||||
bigtable | 3290
|
|
||||||
customer | 3144
|
|
||||||
</programlisting>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can also use <application>oid2name</> to show disk usage. See
|
|
||||||
<filename>README.oid2name</> for examples. It includes a script
|
|
||||||
shows disk usage for each database.
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
|
|
||||||
<sect1 id="logfile-maintenance">
|
<sect1 id="logfile-maintenance">
|
||||||
<title>Log File Maintenance</title>
|
<title>Log File Maintenance</title>
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
<Chapter Id="storage">
|
|
||||||
<Title>Disk Storage</Title>
|
|
||||||
|
|
||||||
<Para>
|
|
||||||
This section needs to be written. Some information is in the FAQ. Volunteers?
|
|
||||||
- thomas 1998-01-11
|
|
||||||
</Para>
|
|
||||||
|
|
||||||
</Chapter>
|
|
Loading…
x
Reference in New Issue
Block a user