|MediaWiki File: compressOld.php|
compressOld.php is a script used to compress the text of old page revisions using gzip.
If used with option -t gzip, it compresses each revision text (including the current revision of all pages) and saves it back to the same table record.
If used with option -t concat, it compresses only previous revisions of each page but keeps the current revision uncompressed. The texts of all previous revisions of each page are concatenated and saved to the first table record created for that page. The remaining intermediary records are converted into stubs pointing to that first record. The concatenation allows for better compression. (This is a simplified explanation; depending on page size and the options used, the resulting structure for a given page can be more complex than this after the script is run.)
Attention: Bear in mind that after compression, the compressed texts will no longer be searchable/replaceable via SQL scripts. For this reason, if all revisions are compressed, including the current ones, Extension:Replace Text will no longer work since it makes use of SQL queries.
php compressOld.php <database> [options...]
- -t <type>
- set compression type to either:
- gzip: compress revisions independently
- concat: concatenate revisions and compress in chunks (default)
- -c <chunk-size>
- maximum number of revisions in a concat chunk
- -b <begin-date>
- earliest date to check for uncompressed revisions
- -e <end-date>
- latest revision date to compress
- -s <start-id>
- the old_id to start from (referring to the text table for type gzip, and to the page table for type concat)
- -n <end-id>
- the page_id to stop at (only when using concat compression type)
- --extdb <cluster>
- store specified revisions in an external cluster (untested)