summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/func.sgml128
1 files changed, 86 insertions, 42 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 49ca0874677..3143767dc5e 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.496 2010/01/15 09:18:58 heikki Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.497 2010/01/19 05:50:18 tgl Exp $ -->
<chapter id="functions">
<title>Functions and Operators</title>
@@ -13173,12 +13173,12 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</entry>
<entry><type>text</type></entry>
<entry>Get last transaction log location received and synced to disk during
- streaming recovery. If streaming recovery is still in progress
- this will increase monotonically. If streaming recovery has completed
- then this value will remain static at the value of the last WAL record
- received and synced to disk during that recovery. When the server has
- been started without a streaming recovery then the return value will be
- InvalidXLogRecPtr (0/0).
+ streaming recovery. If streaming recovery is still in progress
+ this will increase monotonically. If streaming recovery has completed
+ then this value will remain static at the value of the last WAL record
+ received and synced to disk during that recovery. When the server has
+ been started without a streaming recovery then the return value will be
+ InvalidXLogRecPtr (0/0).
</entry>
</row>
<row>
@@ -13187,11 +13187,11 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</entry>
<entry><type>text</type></entry>
<entry>Get last transaction log location replayed during recovery.
- If recovery is still in progress this will increase monotonically.
- If recovery has completed then this value will remain static at
- the value of the last WAL record applied during that recovery.
- When the server has been started normally without a recovery
- then the return value will be InvalidXLogRecPtr (0/0).
+ If recovery is still in progress this will increase monotonically.
+ If recovery has completed then this value will remain static at
+ the value of the last WAL record applied during that recovery.
+ When the server has been started normally without a recovery
+ then the return value will be InvalidXLogRecPtr (0/0).
</entry>
</row>
</tbody>
@@ -13207,19 +13207,25 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<primary>pg_column_size</primary>
</indexterm>
<indexterm>
- <primary>pg_database_size</primary>
+ <primary>pg_total_relation_size</primary>
</indexterm>
<indexterm>
- <primary>pg_relation_size</primary>
+ <primary>pg_table_size</primary>
</indexterm>
<indexterm>
- <primary>pg_size_pretty</primary>
+ <primary>pg_indexes_size</primary>
+ </indexterm>
+ <indexterm>
+ <primary>pg_database_size</primary>
</indexterm>
<indexterm>
<primary>pg_tablespace_size</primary>
</indexterm>
<indexterm>
- <primary>pg_total_relation_size</primary>
+ <primary>pg_relation_size</primary>
+ </indexterm>
+ <indexterm>
+ <primary>pg_size_pretty</primary>
</indexterm>
<table id="functions-admin-dbsize">
@@ -13238,44 +13244,48 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</row>
<row>
<entry>
- <literal><function>pg_database_size</function>(<type>oid</type>)</literal>
+ <literal><function>pg_total_relation_size</function>(<type>regclass</type>)</literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>Disk space used by the database with the specified OID</entry>
+ <entry>
+ Total disk space used by the table with the specified OID or name,
+ including all indexes and <acronym>TOAST</> data
+ </entry>
</row>
<row>
<entry>
- <literal><function>pg_database_size</function>(<type>name</type>)</literal>
+ <literal><function>pg_table_size</function>(<type>regclass</type>)</literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>Disk space used by the database with the specified name</entry>
+ <entry>
+ Disk space used by the table with the specified OID or name,
+ excluding indexes (but including TOAST, free space map, and visibility
+ map)
+ </entry>
</row>
<row>
<entry>
- <literal><function>pg_relation_size</function>(<parameter>relation</parameter> <type>regclass</type>, <parameter>fork</parameter> <type>text</type>)</literal>
+ <literal><function>pg_indexes_size</function>(<type>regclass</type>)</literal>
</entry>
<entry><type>bigint</type></entry>
<entry>
- Disk space used by the specified fork (<literal>'main'</literal>,
- <literal>'fsm'</literal> or <literal>'vm'</>)
- of the table or index with the specified OID or name
+ Total disk space used by indexes attached to the table with the
+ specified OID or name
</entry>
</row>
<row>
<entry>
- <literal><function>pg_relation_size</function>(<parameter>relation</parameter> <type>regclass</type>)</literal>
+ <literal><function>pg_database_size</function>(<type>oid</type>)</literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>
- Shorthand for <literal>pg_relation_size(..., 'main')</literal>
- </entry>
+ <entry>Disk space used by the database with the specified OID</entry>
</row>
<row>
<entry>
- <literal><function>pg_size_pretty</function>(<type>bigint</type>)</literal>
+ <literal><function>pg_database_size</function>(<type>name</type>)</literal>
</entry>
- <entry><type>text</type></entry>
- <entry>Converts a size in bytes into a human-readable format with size units</entry>
+ <entry><type>bigint</type></entry>
+ <entry>Disk space used by the database with the specified name</entry>
</row>
<row>
<entry>
@@ -13293,14 +13303,31 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</row>
<row>
<entry>
- <literal><function>pg_total_relation_size</function>(<type>regclass</type>)</literal>
+ <literal><function>pg_relation_size</function>(<parameter>relation</parameter> <type>regclass</type>, <parameter>fork</parameter> <type>text</type>)</literal>
</entry>
<entry><type>bigint</type></entry>
<entry>
- Total disk space used by the table with the specified OID or name,
- including indexes and <acronym>TOAST</> data
+ Disk space used by the specified fork (<literal>'main'</literal>,
+ <literal>'fsm'</literal> or <literal>'vm'</>)
+ of the table or index with the specified OID or name
</entry>
</row>
+ <row>
+ <entry>
+ <literal><function>pg_relation_size</function>(<parameter>relation</parameter> <type>regclass</type>)</literal>
+ </entry>
+ <entry><type>bigint</type></entry>
+ <entry>
+ Shorthand for <literal>pg_relation_size(..., 'main')</literal>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal><function>pg_size_pretty</function>(<type>bigint</type>)</literal>
+ </entry>
+ <entry><type>text</type></entry>
+ <entry>Converts a size in bytes into a human-readable format with size units</entry>
+ </row>
</tbody>
</tgroup>
</table>
@@ -13311,6 +13338,26 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</para>
<para>
+ <function>pg_total_relation_size</> accepts the OID or name of a
+ table or toast table, and returns the total on-disk space used for
+ that table, including all associated indexes. This function is
+ equivalent to <function>pg_table_size</function>
+ <literal>+</> <function>pg_indexes_size</function>.
+ </para>
+
+ <para>
+ <function>pg_table_size</> accepts the OID or name of a table and
+ returns the disk space needed for that table, exclusive of indexes.
+ (TOAST space, free space map, and visibility map are included.)
+ </para>
+
+ <para>
+ <function>pg_indexes_size</> accepts the OID or name of a table and
+ returns the total disk space used by all the indexes attached to that
+ table.
+ </para>
+
+ <para>
<function>pg_database_size</function> and <function>pg_tablespace_size</>
accept the OID or name of a database or tablespace, and return the total
disk space used therein.
@@ -13318,14 +13365,17 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<para>
<function>pg_relation_size</> accepts the OID or name of a table, index or
- toast table, and returns the size in bytes. Specifying
+ toast table, and returns the on-disk size in bytes. Specifying
<literal>'main'</literal> or leaving out the second argument returns the
size of the main data fork of the relation. Specifying
<literal>'fsm'</literal> returns the size of the
Free Space Map (see <xref linkend="storage-fsm">) associated with the
relation. Specifying <literal>'vm'</literal> returns the size of the
Visibility Map (see <xref linkend="storage-vm">) associated with the
- relation.
+ relation. Note that this function shows the size of only one fork;
+ for most purposes it is more convenient to use the higher-level
+ functions <function>pg_total_relation_size</> or
+ <function>pg_table_size</>.
</para>
<para>
@@ -13335,12 +13385,6 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</para>
<para>
- <function>pg_total_relation_size</> accepts the OID or name of a
- table or toast table, and returns the size in bytes of the data
- and all associated indexes and toast tables.
- </para>
-
- <para>
The functions shown in <xref
linkend="functions-admin-genfile"> provide native access to
files on the machine hosting the server. Only files within the