Update storage.sgml to describe the 9.0 tablespace directory layout.
authorTom Lane
Wed, 20 Oct 2010 01:53:08 +0000 (21:53 -0400)
committerTom Lane
Wed, 20 Oct 2010 01:53:08 +0000 (21:53 -0400)
doc/src/sgml/storage.sgml

index 40e305e787b8728cc7e1b1a7b78ad2dbdbdb236d..7396847d21c0209116e099acc6f8e714ba5d0864 100644 (file)
@@ -170,8 +170,6 @@ adjusted using the configuration option 
 when building PostgreSQL.)
 In principle, free space map and visibility map forks could require multiple
 segments as well, though this is unlikely to happen in practice.
-The contents of tables and indexes are discussed further in
-.
 
 
 
@@ -183,15 +181,27 @@ its TOAST table, if any.
 See  for more information.
 
 
+
+The contents of tables and indexes are discussed further in
+.
+
+
 
 Tablespaces make the scenario more complicated.  Each user-defined tablespace
 has a symbolic link inside the PGDATA/pg_tblspc
-directory, which points to the physical tablespace directory (as specified in
-its CREATE TABLESPACE command).  The symbolic link is named after
+directory, which points to the physical tablespace directory (i.e., the
+location specified in the tablespace's CREATE TABLESPACE command).
+This symbolic link is named after
 the tablespace's OID.  Inside the physical tablespace directory there is
+a subdirectory with a name that depends on the PostgreSQL
+server version, such as PG_9.0_201008051.  (The reason for using
+this subdirectory is so that successive versions of the database can use
+the same CREATE TABLESPACE location value without conflicts.)
+Within the version-specific subdirectory, there is
 a subdirectory for each database that has elements in the tablespace, named
-after the database's OID.  Tables within that directory follow the filenode
-naming scheme.  The pg_default tablespace is not accessed through
+after the database's OID.  Tables and indexes are stored within that
+directory, using the filenode naming scheme.
+The pg_default tablespace is not accessed through
 pg_tblspc, but corresponds to
 PGDATA/base.  Similarly, the pg_global
 tablespace is not accessed through pg_tblspc, but corresponds to