.\" This is -*-nroff-*- .\" XXX standard disclaimer belongs here.... .\" $Header: /usr/local/cvsroot/pgsql/src/man/page.5,v 1.3 1998/01/11 22:17:46 momjian Exp $ .\" Translated by Mitsuhiro Maeda (mitsu@cni.co.jp) .TH PAGE FILES 01/23/93 日本語PostgreSQL 日本語PostgreSQL .SH 名称 .\" page structure - Postgres database file default page format page structure - Postgres のデータベースファイルのデフォルトページ形式 .SH 説明 .\" This section provides an overview of the page format used by Postgres .\" classes. この節ではPostgres のクラスに使われるページ形式の概要を提供します。 .\" User-defined access methods need not use this page format. ユーザ定義のアクセスメソッドはこのページ形式を使う必要はありません。 .PP .\" In the following explanation, a .\" .BR byte .\" is assumed to contain 8 bits. 次の説明で、 .BR バイト は 8 ビットを含むとしています。 .\" In addition, the term .\" .BR item .\" refers to data which is stored in Postgres classes. 加えて、 .BR 項目 は Postgres のクラスに保存されているデータを参照しています。 .if t \{ Diagram 1 shows how pages in both normal Postgres classes and Postgres index classes (e.g., a B-tree index) are structured. .\" This is -*-nroff-*- .\" XXX standard disclaimer belongs here.... .\" $Header: /usr/local/cvsroot/pgsql/src/man/page.5,v 1.3 1998/01/11 22:17:46 momjian Exp $ .in +0.5i .(b M .PS .ps 11 box with .sw at (0.99,6.01) width 5.50 height 3.50 line from 0.988,9.012 to 6.487,9.012 line from 3.737,9.512 to 3.737,9.012 line from 5.112,9.512 to 5.112,9.012 dashwid = 0.050i line dashed from 2.362,9.512 to 2.362,9.012 line dashed from 3.050,9.512 to 3.050,9.012 line dashed from 1.675,9.512 to 1.675,9.012 line from 3.737,6.013 to 3.737,6.513 to 6.487,6.513 line from 0.988,7.763 to 2.362,7.763 to 2.362,8.262 to 6.487,8.262 line from 0.988,7.263 to 5.112,7.263 to 5.112,7.763 to 6.487,7.763 line dashed from 2.362,7.763 to 5.112,7.763 line dashed from 5.112,8.262 to 5.112,7.763 line dashed from 4.300,8.262 to 4.300,7.763 dashwid = 0.037i line dotted <-> from 2.425,8.325 to 6.425,8.325 line dotted <-> from 1.050,9.575 to 3.675,9.575 line dotted <-> from 3.800,9.575 to 5.050,9.575 line dotted <-> from 5.175,9.575 to 6.425,9.575 "\s10\fRitemPointerData\fP" at 2.925,7.978 ljust "\s10\fRfiller\fP" at 4.562,7.978 ljust "\s10\fRitemData...\fP" at 5.513,7.978 ljust "\s10\fIUnallocated Space\fP" at 3.237,8.753 ljust "\s10\fBItemContinuationData\fP" at 3.663,8.415 ljust "\s10\fISpecial Space\fP" at 4.688,6.240 ljust "\s10\fI``ItemData 2''\fP" at 2.587,7.478 ljust "\s10\fI``ItemData 1''\fP" at 3.413,6.865 ljust "\s10\fBItemIdData\fP" at 4.775,9.715 ljust "\s10\fBPageHeaderData\fP" at 1.875,9.715 ljust .PE .ce .BR "Diagram 1: Sample Page Layout" .)b .in -0.5i \} .\" Running .\" .q .../bin/dumpbpages .\" or .\" .q .../src/support/dumpbpages .\" as the postgres superuser .\" with the file paths associated with .\" (heap or B-tree index) classes, .\" .q .../data/base//, .\" will display the page structure used by the classes. .\" Specifying the .\" .q -r .\" flag will cause the classes to be .\" treated as heap classes and for more information to be displayed. .PP .\" The first 8 bytes of each page consists of a page header .\" .RB ( PageHeaderData ). 各ページの最初の 8 バイトは ページヘッダ .RB ( PageHeaderData ) です。 .\" Within the header, the first three 2-byte integer fields, .\" .IR lower , .\" .IR upper , .\" and .\" .IR special , .\" represent byte offsets to the start of unallocated space, to the end .\" of unallocated space, and to the start of \*(lqspecial space.\*(rq ヘッダの中では、最初の 3つの 2バイト整数フィールド .IR lower 、 .IR upper 、 .IR special はまだ確保されていない空間の始まりと、 まだ確保されていない空間の終り、 \*(lq特別空間\*(rq へのバイトオフセットを表しています。 .\" Special space is a region at the end of the page which is allocated at .\" page initialization time and which contains information specific to an .\" access method. 特別空間はページの初期化時に確保されたページの最後の領域で、 アクセスメソッドに特有の情報を含みます。 .\" The last 2 bytes of the page header, .\" .IR opaque , .\" encode the page size and information on the internal fragmentation of .\" the page. ページヘッダの最後の 2バイトの .IR opaque はページサイズと内部的なページの分裂情報をエンコードしています。 .\" Page size is stored in each page because frames in the .\" buffer pool may be subdivided into equal sized pages on a frame by .\" frame basis within a class. ページサイズは各ページに保存されています。 なぜなら、バッファプールのフレームは クラスの中でフレーム毎に同じサイズのページに分割されることがあるからです。 .\" The internal fragmentation information is .\" used to aid in determining when page reorganization should occur. 内部的な分裂情報は いつページの再構築をするかを決める手助けとして使われます。 .PP .\" Following the page header are item identifiers .\" .RB ( ItemIdData ). ページヘッダに続くのは項目の識別子 .RB ( ItemIdData ) です。 .\" New item identifiers are allocated from the first four bytes of .\" unallocated space. 新しい項目識別子は 確保されていない空間の最初の 4バイトから確保されます。 .\" Because an item identifier is never moved until it .\" is freed, its index may be used to indicate the location of an item on .\" a page. 項目識別子は解放されるまで動きませんので、 そのインデックスがページの項目の場所を示すのに使われます。 .\" In fact, every pointer to an item .\" .RB ( ItemPointer ) .\" created by Postgres consists of a frame number and an index of an item .\" identifier. 実際には、Postgres が作る項目へのポインタ .RB ( ItemPointer ) には、フレーム番号と項目識別子のインデックスが含まれています。 .\" An item identifier contains a byte-offset to the start of .\" an item, its length in bytes, and a set of attribute bits which affect .\" its interpretation. 項目識別子には 項目の始まり、そのバイト単位の長さ、 その解釈に作用する属性のビットの集合へのバイトオフセットを含みます。 .PP .\" The items, themselves, are stored in space allocated backwards from .\" the end of unallocated space. 項目そのものは確保されていない空間の最後から確保されていく空間に保存されます。 .\" Usually, the items are not interpreted. 通常、項目は解釈されません。 .\" However when the item is too long to be placed on a single page or .\" when fragmentation of the item is desired, the item is divided and .\" each piece is handled as distinct items in the following manner. しかし、項目が単一ページに置くには大きすぎるときや、 その項目の分裂が望まれる時には、 項目は分割され、各断片は次のような方法で別々の項目として扱われます。 .\" The .\" first through the next to last piece are placed in an item .\" continuation structure .\" .BR ( ItemContinuationData ). 最初から最後の断片までが、 項目の継続構造体 .BR ( ItemContinuationData ) に置かれます。 .\" This structure contains .\" .IR itemPointerData .\" which points to the next piece and the piece itself. この構造体には次の断片とその断片そのものを指す .IR itemPointerData を含んでいます。 .\" The last piece .\" is handled normally. 最後の断片は通常通りに扱われます。 .SH ファイル .TP 5n \&.../data/... .\" Location of shared (global) database files. 共有 (グローバル) データベースファイルの場所。 .TP 5n \&.../data/base/... .\" Location of local database files. ローカルデータベースファイルの場所。 .SH バグ .\" The page format may change in the future to provide more efficient .\" access to large objects. 大きなオブジェクトへの効率的なアクセスを提供するために、 ページ形式は将来的には変更するかもしれません。 .PP .\" This section contains insufficient detail to be of any assistance in .\" writing a new access method. この節では新しいアクセスメソッドを書く上での手助けとなるような詳細は不十分です。