提交 cf956d51 编写于 作者: T Tom Lane

Remove now-redundant description of Postgres file layout, in favor of

referencing the Database File Layout chapter I just added to the main
documentation.
上级 7f4b5a00
This utility allows administrators to examine the file structure used by
PostgreSQL.
Databases are placed in directories named after their OIDs in pg_database,
and the table files within a database's directory are named by "filenode"
numbers, which are stored in pg_class.relfilenode.
Note that while a table's filenode often matches its OID, this is *not*
necessarily the case; some operations, like TRUNCATE, REINDEX, CLUSTER
and some forms of ALTER TABLE, can change the filenode while preserving
the OID. Avoid assuming that filenode and table OID are the same.
When a table exceeds 1Gb, it is divided into gigabyte-sized "segments".
The first segment's file name is the same as the filenode; subsequent
segments are named filenode.1, filenode.2, etc.
Tablespaces make the scenario more complicated. Each non-default
tablespace has a symlink inside the pg_tblspc directory, which points to
the physical tablespace directory (as specified in its CREATE TABLESPACE
command). The symlink is named after the tablespace's OID. Inside the
physical tablespace directory there is another directory 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 addressed via pg_tblspc, but corresponds to
$PGDATA/base.
PostgreSQL. To make use of it, you need to be familiar with the file
structure, which is described in the "Database File Layout" chapter of
the "Internals" section of the PostgreSQL documentation.
Oid2name connects to the database and extracts OID, filenode, and table
name information. You can also have it show database OIDs and tablespace
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册