@@ -170,8 +170,6 @@ adjusted using the configuration option <option>--with-segsize</option>
170
170
when building <productname>PostgreSQL</>.)
171
171
In principle, free space map and visibility map forks could require multiple
172
172
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">.
175
173
</para>
176
174
177
175
<para>
@@ -183,15 +181,27 @@ its <acronym>TOAST</> table, if any.
183
181
See <xref linkend="storage-toast"> for more information.
184
182
</para>
185
183
184
+ <para>
185
+ The contents of tables and indexes are discussed further in
186
+ <xref linkend="storage-page-layout">.
187
+ </para>
188
+
186
189
<para>
187
190
Tablespaces make the scenario more complicated. Each user-defined tablespace
188
191
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
191
195
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
192
201
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
195
205
<filename>pg_tblspc</>, but corresponds to
196
206
<varname>PGDATA</><filename>/base</>. Similarly, the <literal>pg_global</>
197
207
tablespace is not accessed through <filename>pg_tblspc</>, but corresponds to
0 commit comments