Manual:Page table/ja

Pageテーブル は "wiki の核心" と見なせます. MediaWiki インストールでのそれぞれのページは、タイトルによってそれを識別するここのエントリを持ち、いくつかの不可欠なメタデータを格納します. これは MediaWiki 1.5 r6710 において、最初に導入されました.

ページそれ自身のテキストは Text テーブル で保管されます. 記事のテキストを読み出すために、MediaWiki はこのテーブルで最初に page_title を検索します. それから、 Revision テーブルで rev_id を検索するためにpage_latest が使用されます、そして rev_text_id がプロセスの中で獲得されます. rev_text_id で獲得された値はテキストを読み出すために Text テーブルで old_id を検索するために使用されます. ページが削除されると、そのページの版は archive テーブルに移動されます.

データベースから手動でページを完全に削除したい場合、Page テーブル内のページのエントリそして Revision テーブル内のすべてのページのリビジョン及び Text テーブル内のページにのみ対応しているテキストレコードのすべて、を削除することを確実に行ってください. これはページのレコードを削除し、それから maintenance/deleteOrphanedRevisions.php を走らせることにより行なえます. See also title 'Deleting pages with their relationships in text and revision tables' below how to do.

page_id
ユニークに識別をする主キー. この値は編集と名称変更の時にわたって維持されていて、削除と再作成の時はそうではありません. There is an analogous field to preserve this value in MediaWiki 1.11 and later; however, it is not used in Special:Undelete, the interface for undeleting pages used by project administrators.例えば、このページです. page_id = 10501. 

page_namespace
ページ名は、名前空間とタイトルで構成されます. 名前空間のキーは includes/Defines.php で定義されたユーザーインターフェイス言語に依存しない定数です.

このフィールドはページの名前空間の番号を格納しています. 値は 0 から 15 までが標準名前空間で、100 から 255 までがカスタム名前空間の範囲です.

page_title
The sanitized page title, without the title of its namespace with a maximum of 255 characters (binary), e.g. "[255 chars]" or "Talk:[255 chars]" or "Category discussion:[255 chars here]". It is stored as text, with spaces replaced by underscores. The real title shown in articles is just this title with underscores (_) converted to spaces.

page_restrictions
誰がページの移動または編集ができるのかを示す、カンマ区切りのパーミッションキーのセット. Edit and move sections are separated by a colon (e.g., "edit=autoconfirmed,sysop:move=sysop").

MediaWiki1.10 を発端に、ページ保護のコントロールは Page restrictions テーブル に移されました. so this field will be empty in databases generated by more current versions of MediaWiki.

page_counter
このページが見られた回数. ここで留意すべきなのは、このフィールドが増加するいくつかのサイト ( 例えば Wikimedia サイト )は、パフォーマンスを増やすようために無効にしていることです. - $wgDisableCounters グローバル変数をご覧ください.

page_is_redirect
値 1 は、ここに記事がリダイレクトであることを示しています. それ以外の場合は、0 です.

page_is_new
このフィールドは、ページが新規のエントリかそうでないかを保管します. ; フィールドが 1 ほ含む場合、それはページがただ１回だけの編集の新しいエントリであることを示します. それ以外の場合は、0 です.

page_random
ランダムな 0 と 1 の間の小数値で、特別:おまかせ表示のために使用されます. (詳細は Manual:Random page を参照)

page_touched
このタイムスタンプは、ページがキャッシュを無効にして、再レンダリングを要求し、ある意味で変化するときは、いつでも更新されます. 編集とは別に、これはパーミッションの変更、リンクされたページの生成あるいは削除、使用しているテンプレートの修正を含みます.

page_links_updated
This timestamp is updated whenever a page is re-parsed and it has all the link tracking tables updated for it. This is useful for de-duplicating expensive backlink update jobs.

page_latest
これは現在のリビジョンのための rev_id への外部キーです. それはページ生成の間は 0 であるかもしれません.

page_len
ページの現在のソーステキストの圧縮していないバイト単位での長さ.

page_content_model
Content model, see CONTENT_MODEL_XXX constants. Comparable to.

page_lang
Page content language.

スキーマ概要
MariaDB> describe page; ++-+--+-+++ ++-+--+-+++ ++-+--+-+++ 13 rows in set (0.00 sec)
 * Field             | Type                | Null | Key | Default        | Extra          |
 * page_id           | int(10) unsigned    | NO   | PRI | NULL           | auto_increment |
 * page_namespace    | int(11)             | NO   | MUL | NULL           |                |
 * page_title        | varbinary(255)      | NO   |     | NULL           |                |
 * page_restrictions | tinyblob            | NO   |     | NULL           |                |
 * page_counter      | bigint(20) unsigned | NO   |     | 0              |                |
 * page_is_redirect  | tinyint(3) unsigned | NO   | MUL | 0              |                |
 * page_is_new       | tinyint(3) unsigned | NO   |     | 0              |                |
 * page_random       | double unsigned     | NO   | MUL | NULL           |                |
 * page_touched      | binary(14)          | NO   |     |                |                |
 * page_latest       | int(10) unsigned    | NO   |     | NULL           |                |
 * page_len          | int(10) unsigned    | NO   | MUL | NULL           |                |
 * page_content_model | varbinary(32)      | YES  |     | NULL           |                |
 * page_links_updated | varbinary(14)      | YES  |     | NULL           |                |

mysql> describe page; ++-+--+-+++ ++-+--+-+++ ++-+--+-+++ 12 rows in set (0.00 sec)
 * Field             | Type                | Null | Key | Default        | Extra          |
 * page_id           | int(10) unsigned    | NO   | PRI | NULL           | auto_increment |
 * page_namespace    | int(11)             | NO   | MUL | NULL           |                |
 * page_title        | varbinary(255)      | NO   |     | NULL           |                |
 * page_restrictions | tinyblob            | NO   |     | NULL           |                |
 * page_counter      | bigint(20) unsigned | NO   |     | 0              |                |
 * page_is_redirect  | tinyint(3) unsigned | NO   | MUL | 0              |                |
 * page_is_new       | tinyint(3) unsigned | NO   |     | 0              |                |
 * page_random       | double unsigned     | NO   | MUL | NULL           |                |
 * page_touched      | binary(14)          | NO   |     |                |                |
 * page_latest       | int(10) unsigned    | NO   |     | NULL           |                |
 * page_len          | int(10) unsigned    | NO   | MUL | NULL           |                |
 * page_content_model | varbinary(32)      | YES  |     | NULL           |                |

DESCRIBE page; により MediaWiki 1.19 においては下記の結果を示します: +---+-+--+-+++ +---+-+--+-+++ +---+-+--+-+++
 * Field            | Type                | Null | Key | Default        | Extra          |
 * page_id          | int(10) unsigned    | NO   | PRI | NULL           | auto_increment |
 * page_namespace   | int(11)             | NO   | MUL | NULL           |                |
 * page_title       | varbinary(255)      | NO   |     | NULL           |                |
 * page_restrictions | tinyblob           | NO   |     | NULL           |                |
 * page_counter     | bigint(20) unsigned | NO   |     | 0              |                |
 * page_is_redirect | tinyint(3) unsigned | NO   | MUL | 0              |                |
 * page_is_new      | tinyint(3) unsigned | NO   |     | 0              |                |
 * page_random      | double unsigned     | NO   | MUL | NULL           |                |
 * page_touched     | binary(14)          | NO   |     |                |                |
 * page_latest      | int(10) unsigned    | NO   |     | NULL           |                |
 * page_len         | int(10) unsigned    | NO   | MUL | NULL           |                |

DESCRIBE page; により MediaWiki 1.12 においては下記の結果を示します: +---+-+--+-+-++ +---+-+--+-+-++ +---+-+--+-+-++
 * Field                | Type                | Null | Key | Default | Extra          |
 * page_id              | int(8) unsigned     | NO   | PRI | NULL    | auto_increment |
 * page_namespace       | int(11)             | NO   | MUL | NULL    |                |
 * page_title           | varchar(255)        | NO   |     | NULL    |                |
 * page_restrictions    | tinyblob            | NO   |     | NULL    |                |
 * page_counter         | bigint(20) unsigned | NO   |     | 0       |                |
 * page_is_redirect     | tinyint(1) unsigned | NO   |     | 0       |                |
 * page_is_new          | tinyint(1) unsigned | NO   |     | 0       |                |
 * page_random          | double unsigned     | NO   | MUL | NULL    |                |
 * page_touched         | char(14)            | NO   |     | NULL    |                |
 * page_latest          | int(8) unsigned     | NO   |     | NULL    |                |
 * page_len             | int(8) unsigned     | NO   | MUL | NULL    |                |

DESCRIBE page; により MediaWiki 1.11 においては下記の結果を示します: +---+-+--+-+-++ +---+-+--+-+-++ +---+-+--+-+-++
 * Field                | Type                | Null | Key | Default | Extra          |
 * page_id              | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
 * page_namespace       | int(11)             | NO   | MUL | NULL    |                |
 * page_title           | varchar(255)        | NO   |     | NULL    |                |
 * page_restrictions    | tinyblob            | NO   |     | NULL    |                |
 * page_counter         | bigint(20) unsigned | NO   |     | 0       |                |
 * page_is_redirect     | tinyint(3) unsigned | NO   |     | 0       |                |
 * page_is_new          | tinyint(3) unsigned | NO   |     | 0       |                |
 * page_random          | double unsigned     | NO   | MUL | NULL    |                |
 * page_touched         | binary(14)          | NO   |     | NULL    |                |
 * page_latest          | int(10) unsigned    | NO   |     | NULL    |                |
 * page_len             | int(10) unsigned    | NO   | MUL | NULL    |                |

DESCRIBE page;</tt> により MediaWiki 1.5 から 1.10 においては下記の結果を示します: +---+-+--+-+-++ +---+-+--+-+-++ +---+-+--+-+-++
 * Field                | Type                | Null | Key | Default | Extra          |
 * page_id              | int(8) unsigned     | NO   | PRI | NULL    | auto_increment |
 * page_namespace       | int(11)             | NO   | MUL | NULL    |                |
 * page_title           | varchar(255)        | NO   |     | NULL    |                |
 * page_restrictions    | tinyblob            | NO   |     | NULL    |                |
 * page_counter         | bigint(20) unsigned | NO   |     | 0       |                |
 * page_is_redirect     | tinyint(1) unsigned | NO   |     | 0       |                |
 * page_is_new          | tinyint(1) unsigned | NO   |     | 0       |                |
 * page_random          | double unsigned     | NO   | MUL | NULL    |                |
 * page_touched         | char(14)            | NO   |     | NULL    |                |
 * page_latest          | int(8) unsigned     | NO   |     | NULL    |                |
 * page_len             | int(8) unsigned     | NO   | MUL | NULL    |                |

Indices
mysql> show index in page; +---++-+--+--+---+-+--++--++-+---+ +---++-+--+--+---+-+--++--++-+---+ +---++-+--+--+---+-+--++--++-+---+
 * Table | Non_unique | Key_name                   | Seq_in_index | Column_name      | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
 * page |          0 | PRIMARY                     |            1 | page_id          | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          0 | name_title                  |            1 | page_namespace   | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          0 | name_title                  |            2 | page_title       | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          1 | page_random                 |            1 | page_random      | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          1 | page_len                    |            1 | page_len         | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          1 | page_redirect_namespace_len |            1 | page_is_redirect | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          1 | page_redirect_namespace_len |            2 | page_namespace   | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |
 * page |          1 | page_redirect_namespace_len |            3 | page_len         | A         |           1 |     NULL | NULL   |      | BTREE      |         |               |

Listing pages and relations with other essential tables
The following code will select the most recent versions of all articles from core tables: [page, revision, text]:

その他、考慮すべき重要な事項:
 * 復元されたページを見つけるには、"r.rev_deleted = 0" を追加
 * 名前空間 0 内のページを見つけるには、"p.page_namespace = 0" を追加
 * リダイレクト (転送ページ) 以外のページを見つけるには、"p.page_is_redirect = 0" を追加

These additional statements can be added either as conditions to a Where statement or as conditions on the appropriate Inner Join statement.

Deleting pages with their relationships in text and revision tables
The following shows a steps to run to help you delete pages and their children from the main pages in the page, revision and text tables.

Listing all related table keys

Deleting from database the rows

You should have a result set like this

Replace the concatenated id in the following query

After, you can do some cleanup using this maintenance script:

関連項目

 * API:Database field and API property associations