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

index dd6f55ad637f79be7d93c160d5949f12b4aedd65..260df3de71ec3ccff9f9ee771cc1def2af417885 100644 (file)
@@ -174,8 +174,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
-.
 
 
 
@@ -187,15 +185,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