summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-03-10 20:06:27 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-03-10 20:06:27 +0000
commitf0828b2fc3d021ef8d64337a3593eb44bd3b6114 (patch)
tree493c0b5d4275d6d65f7ef3009dede802a607d478 /doc/src
parentb6912af22bc9e6073d2dd05789a09f7f81b18d14 (diff)
Provide a build-time option to store large relations as single files, rather
than dividing them into 1GB segments as has been our longtime practice. This requires working support for large files in the operating system; at least for the time being, it won't be the default. Zdenek Kotala
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/installation.sgml16
-rw-r--r--doc/src/sgml/storage.sgml8
2 files changed, 21 insertions, 3 deletions
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index a9990023466..95a3f10be67 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.303 2008/03/06 21:37:33 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.304 2008/03/10 20:06:27 tgl Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@@ -1026,6 +1026,20 @@ su - postgres
</varlistentry>
<varlistentry>
+ <term><option>--disable-segmented-files</option></term>
+ <listitem>
+ <para>
+ Store large tables as single operating-system files, rather than
+ dividing them into 1GB segments as is the default. This option
+ is ignored unless the operating system has <quote>largefile</>
+ support (which most do, nowadays). It can be helpful to reduce
+ the number of file descriptors consumed when working with very
+ large tables.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--disable-spinlocks</option></term>
<listitem>
<para>
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index fe9ae611bf1..7ba0c1e343f 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/storage.sgml,v 1.21 2007/11/23 00:24:12 ishii Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/storage.sgml,v 1.22 2008/03/10 20:06:27 tgl Exp $ -->
<chapter id="storage">
@@ -138,10 +138,14 @@ Avoid assuming that filenode and table OID are the same.
</caution>
<para>
-When a table or index exceeds 1 GB, it is divided into gigabyte-sized
+When a table or index exceeds 1 GB, it is normally divided into gigabyte-sized
<firstterm>segments</>. The first segment's file name is the same as the
filenode; subsequent segments are named filenode.1, filenode.2, etc.
This arrangement avoids problems on platforms that have file size limitations.
+(But if the platform does not have such a limitation, and
+<option>--disable-segmented-files</option> was specified when
+<productname>PostgreSQL</> was built, then each table or index is stored
+as a single file, without segmentation.)
The contents of tables and indexes are discussed further in
<xref linkend="storage-page-layout">.
</para>