Percona pstress vs pgroll
Percona pstress
github.compgroll
pgroll.comSide by side
| Figure | Percona pstress | pgroll |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 2 |
| Spec score · Database Testing Tools | 7.5 (#17) | 8.5 (#6) |
| License | The repository identifies its license as GPL-2.0. | The repository is licensed under Apache License 2.0. |
| Purpose | pstress is a probability-based open-source tool for concurrent database testing and crash recovery testing. | pgroll is an open-source command-line tool for safe, reversible PostgreSQL schema migrations that keep multiple schema versions available simultaneously. |
Plans
In their own words
Percona pstress
Percona pstress is a free, open-source Linux tool for concurrent database and crash-recovery testing. It creates randomized transactions from command-line options and runs concurrent workloads against a single server or cluster. Documented uses include checking database features, regressions, and recovery behavior for MySQL, Percona Server, and Percona XtraDB Cluster. A multithreaded C++ generator works with a Bash driver that coordinates concurrency and recovery steps. The driver can stop and restart a server between steps, change server variables, and continue with the preceding step’s data directory. Options control thread count, tables, records, transaction size, and SQL-operation probabilities. Trial directories normally retain the data directory, error logs, thread logs, mysqld binaries, and configuration. Building requires CMake 2.6 or later, a C++ compiler 4.7 or later, and development files for the target database version or fork. The repository identifies GPL-2.0 licensing. pstress runs self-hosted and does not verify that successful queries returned correct data.
pgroll
pgroll is an open-source command-line tool for PostgreSQL schema migrations that keeps old and new schema versions available while applications move between them. Its expand/contract workflow lets clients choose a version through PostgreSQL's search_path. The project describes migrations as zero-downtime and says it applies changes without locking the database; it can also backfill columns automatically when needed. For breaking changes, pgroll builds virtual schemas from views over physical tables and uses triggers to carry writes between old and new columns. Active migrations can be rolled back to the previous schema version. It supports PostgreSQL 14 and later, including RDS and Aurora, and is available for Linux, macOS, and Windows or self-hosting. It can convert SQL generated by ORMs, with examples for Alembic, Django, and Drizzle, though manual data migrations and SQL consolidation may be needed. On PostgreSQL 14, its versioned views do not respect row-level security policies, which can make it a poor choice for RLS users on that version. The project is licensed under Apache License 2.0.