Commit ade8f5c8 authored by Neil Conway's avatar Neil Conway

Minor improvements to the tablespace documentation.

parent ee69be44
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/manage-ag.sgml,v 2.34 2004/09/30 02:40:23 neilc Exp $ $PostgreSQL: pgsql/doc/src/sgml/manage-ag.sgml,v 2.35 2004/10/29 02:11:18 neilc Exp $
--> -->
<chapter id="managing-databases"> <chapter id="managing-databases">
...@@ -347,21 +347,22 @@ dropdb <replaceable class="parameter">dbname</replaceable> ...@@ -347,21 +347,22 @@ dropdb <replaceable class="parameter">dbname</replaceable>
</para> </para>
<para> <para>
By using tablespaces, a database administrator can control the disk By using tablespaces, an administrator can control the disk layout
layout of a <productname>PostgreSQL</> installation. This is useful in of a <productname>PostgreSQL</> installation. This is useful in at
at least two ways. Firstly, if the partition or volume on which the cluster least two ways. First, if the partition or volume on which the
was initialized runs out of space and cannot be extended logically cluster was initialized runs out of space and cannot be extended,
or otherwise, a tablespace can be created on a different partition a tablespace can be created on a different partition and used
and used until the system can be reconfigured. until the system can be reconfigured.
</para> </para>
<para> <para>
Secondly, tablespaces allow a database administrator to arrange data Second, tablespaces allow an administrator to use knowledge of the
locations based on the usage patterns of database objects. For usage pattern of database objects to optimize performance. For
example, an index which is very heavily used can be placed on very fast, example, an index which is very heavily used can be placed on a
highly available disk, such as an expensive solid state device. At the same very fast, highly available disk, such as an expensive solid state
time a table storing archived data which is rarely used or not performance device. At the same time a table storing archived data which is
critical could be stored on a less expensive, slower disk system. rarely used or not performance critical could be stored on a less
expensive, slower disk system.
</para> </para>
<para> <para>
...@@ -377,14 +378,14 @@ CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data'; ...@@ -377,14 +378,14 @@ CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';
</para> </para>
<note> <note>
<para> <para>
There is usually not much point in making more than one There is usually not much point in making more than one
tablespace per logical filesystem, since you can't control the location tablespace per logical filesystem, since you cannot control the location
of individual files within a logical filesystem. However, of individual files within a logical filesystem. However,
<productname>PostgreSQL</> does not enforce any such limitation, and <productname>PostgreSQL</> does not enforce any such limitation, and
indeed it's not directly aware of the filesystem boundaries on your indeed it is not directly aware of the filesystem boundaries on your
system. It just stores files in the directories you tell it to use. system. It just stores files in the directories you tell it to use.
</para> </para>
</note> </note>
<para> <para>
...@@ -416,17 +417,17 @@ CREATE TABLE foo(i int) TABLESPACE space1; ...@@ -416,17 +417,17 @@ CREATE TABLE foo(i int) TABLESPACE space1;
</para> </para>
<para> <para>
A schema does not in itself occupy any storage (other than a system A schema does not in itself occupy any storage (other than a
catalog entry), so assigning a tablespace to a schema does not in itself system catalog entry), so assigning a schema to a tablespace does
do anything. What this actually does is to set a default tablespace not in itself do anything. What this actually does is to set a
for tables later created within the schema. If default tablespace for tables later created within the schema. If
no tablespace is mentioned when creating a schema, it inherits its no tablespace is mentioned when creating a schema, it inherits its
default tablespace from the current database. default tablespace from the current database.
</para> </para>
<para> <para>
The default choice of tablespace for an index is the same tablespace The default tablespace for an index is the tablespace associated
already assigned to the table the index is for. with the table the index is on.
</para> </para>
<para> <para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment