Skip to content

Commit 486187a

Browse files
committed
Update storage.sgml to describe the 9.0 tablespace directory layout.
1 parent 01b4bb4 commit 486187a

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

doc/src/sgml/storage.sgml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,6 @@ adjusted using the configuration option <option>--with-segsize</option>
170170
when building <productname>PostgreSQL</>.)
171171
In principle, free space map and visibility map forks could require multiple
172172
segments as well, though this is unlikely to happen in practice.
173-
The contents of tables and indexes are discussed further in
174-
<xref linkend="storage-page-layout">.
175173
</para>
176174

177175
<para>
@@ -183,15 +181,27 @@ its <acronym>TOAST</> table, if any.
183181
See <xref linkend="storage-toast"> for more information.
184182
</para>
185183

184+
<para>
185+
The contents of tables and indexes are discussed further in
186+
<xref linkend="storage-page-layout">.
187+
</para>
188+
186189
<para>
187190
Tablespaces make the scenario more complicated. Each user-defined tablespace
188191
has a symbolic link inside the <varname>PGDATA</><filename>/pg_tblspc</>
189-
directory, which points to the physical tablespace directory (as specified in
190-
its <command>CREATE TABLESPACE</> command). The symbolic link is named after
192+
directory, which points to the physical tablespace directory (i.e., the
193+
location specified in the tablespace's <command>CREATE TABLESPACE</> command).
194+
This symbolic link is named after
191195
the tablespace's OID. Inside the physical tablespace directory there is
196+
a subdirectory with a name that depends on the <productname>PostgreSQL</>
197+
server version, such as <literal>PG_9.0_201008051</>. (The reason for using
198+
this subdirectory is so that successive versions of the database can use
199+
the same <command>CREATE TABLESPACE</> location value without conflicts.)
200+
Within the version-specific subdirectory, there is
192201
a subdirectory for each database that has elements in the tablespace, named
193-
after the database's OID. Tables within that directory follow the filenode
194-
naming scheme. The <literal>pg_default</> tablespace is not accessed through
202+
after the database's OID. Tables and indexes are stored within that
203+
directory, using the filenode naming scheme.
204+
The <literal>pg_default</> tablespace is not accessed through
195205
<filename>pg_tblspc</>, but corresponds to
196206
<varname>PGDATA</><filename>/base</>. Similarly, the <literal>pg_global</>
197207
tablespace is not accessed through <filename>pg_tblspc</>, but corresponds to

0 commit comments

Comments
 (0)