Manual:Page restrictions table

The page_restrictions table is used to store page protection levels in MediaWiki 1.10 and later. The most notable feature is the introduction of cascading page protections for high-visibility pages.

This table was introduced in MediaWiki 1.10 (r19095–r19703), and overrides the page_restrictions field in the page table.

pr_id
This is the primary key for the table, and is used to identify a particular row in the table.

pr_page
This field contains a reference to page_id, which works as the foreign key for this table.

pr_type
The type of protection (whether it applies to edits, page moves, or similar) is stored in this field.

pr_level
This column describes the level of protection for the page; full protection for sysop-only pages, semi-protection for autoconfirmed users, or any other levels.

pr_cascade
This field determines whether cascading protection (meaning that all transcluded templates and images on the page will be protected as well).

pr_user
This field is reserved to support a future per-user edit restriction system.

pr_expiry
This field contains the timestamp for pages whose protection has a set expiration date, and has a format similar to the expiry time in the Ipblocks table. Rows that contain a null value in this column are considered to be protected indefinitely.

Schema summary
DESCRIBE page_restrictions; on MediaWiki 1.10 gives the following: mysql> describe page_restrictions; ++--+--+-+-+---+ ++--+--+-+-+---+ ++--+--+-+-+---+ 5 rows in set (0.02 sec)
 * Field     | Type         | Null | Key | Default | Extra |
 * pr_page   | int(8)       | NO   | PRI | NULL    |       |
 * pr_type   | varchar(255) | NO   | PRI | NULL    |       |
 * pr_level  | varchar(255) | NO   | MUL | NULL    |       |
 * pr_cascade | tinyint(4)  | NO   | MUL | NULL    |       |
 * pr_user   | int(8)       | YES  |     | NULL    |       |
 * pr_expiry | char(14)     | YES  |     | NULL    |       |