pt-online-schema-change
pt-online-schema-change is a free command-line tool in Percona Toolkit for altering MySQL table structures while keeping reads and writes available.
What pt-online-schema-change is
pt-online-schema-change is a free command-line tool in Percona Toolkit for altering MySQL table structures while keeping reads and writes available. It creates and populates a copy of a table, then replaces the original. Rows move in small chunks, and triggers carry changes made to the original across during copying. The tool can pause or abort if server load is too high, and pause copying when it detects delayed replicas.
It only modifies a table when run with `--execute`; `--dry-run` and `--execute` cannot be used together. Most tables need a PRIMARY KEY or UNIQUE INDEX. Tables that already have triggers are not supported, and referencing foreign keys require a specified handling method that adds risk. It runs on Linux and can be self-hosted. Requirements include Perl, DBI, DBD::mysql, MySQL 5.0.2 or newer, and specified privileges. Percona documents package-manager installation for Debian or Ubuntu and RHEL or CentOS, along with package downloads and a tar.gz release. The toolkit is free under GPL version 2 or the Perl Artistic License.
Good
- Copies rows in small chunks.
- Can pause when replicas are delayed.
- Does not modify tables without `--execute`.
- Free and available for self-hosting on Linux.
Watch out
- Most tables need a PRIMARY KEY or UNIQUE INDEX.
- Cannot operate on tables with existing triggers.
- Foreign-key handling introduces additional risk.
- Requires Perl, DBI, DBD::mysql, and MySQL 5.0.2 or newer.
Who it suits
This tool suits database administrators and database operations teams changing MySQL tables who need reads and writes to continue during the process. It is aimed at users comfortable with command-line tools and its database requirements.
Verdict
pt-online-schema-change provides a chunked approach to changing MySQL tables while allowing reads and writes. Check for existing triggers, keys, and foreign-key relationships before using it.
Plans and prices
From pt-online-schema-change's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Percona Toolkit (includes pt-online-schema-change) | Free | Free, open-source command-line toolkit · GPL v2 or Perl Artistic License |
The facts
Each one read from pt-online-schema-change's own pages, with the date it was checked.
What it does
- Chunked copying
- It copies rows in small chunks and uses triggers to apply changes made to the original table during the copy.checked 8 Oct 2026
- Cluster support
- For Percona XtraDB Cluster 5.5.28-23.7 and newer, only InnoDB tables can be altered and wsrep_OSU_method must be TOI.checked 8 Oct 2026
- Execution safety
- The tool does not modify a table unless the --execute option is specified; --dry-run and --execute are mutually exclusive.checked 8 Oct 2026
- Foreign-key handling
- Foreign keys that reference the table require a specified foreign-key method, and their handling introduces additional risk.checked 8 Oct 2026
- Installation telemetry
- The installer stores an instance UUID for toolkit usage statistics and states that no other information is gathered for that purpose.checked 8 Oct 2026
- Intended users
- Percona describes the Toolkit as advanced open-source command-line tools for DBAs and database operations.checked 8 Oct 2026
- Key requirement
- In most cases, the table needs a PRIMARY KEY or UNIQUE INDEX for the tool to operate.checked 8 Oct 2026
- License
- The program is free software under either the GNU General Public License version 2 or the Perl Artistic License.checked 8 Oct 2026
- Load and replication checks
- It can pause or abort when server load is too high and pause copying when it detects delayed replicas.checked 8 Oct 2026
- Purpose
- pt-online-schema-change alters MySQL table structures without blocking reads or writes by building and populating a copy of the table, then replacing the original.checked 8 Oct 2026
- Requirements
- The tool requires Perl, DBI, DBD::mysql, and MySQL 5.0.2 or newer, along with specified MySQL privileges.checked 8 Oct 2026
- Support
- Percona says its Community Forum service is free and response times vary with the complexity of the question.checked 8 Oct 2026
- Trigger limitation
- The tool will not work on a table that already has triggers defined because it uses triggers to keep the replacement table updated.checked 8 Oct 2026
The company
- Founded
- 2006checked 28 Sep 2026
Where it runs
- Install platforms
- Percona documents package-manager installation for Debian or Ubuntu and RHEL or CentOS, plus package downloads and a tar.gz release.checked 8 Oct 2026
Alternatives to pt-online-schema-change
- 1

Atlas
Free planOpen sourceWebAPILinuxmacOS8.3From $39 a month - 2
DeepFilterNet
Free planOpen sourceAPILinuxmacOSSelf-hosted7.6Free plan - 3
pgroll
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.3Free plan - 4

Skeema
Free planLinuxmacOSWindows6.9From $649 a year - 5

Bytebase Enterprise
Free planWebAPISelf-hosted6.8From $20 a month - 6
Sqitch
Free planLinuxmacOSSelf-hostedWindows6.7Free plan
