SQLancer
sqlancer.github.io
What it is
SQLancer automatically tests database management systems to find implementation bugs. It generates SQL statements and database states, then validates query behavior with test oracles including TLP, NoREC, PQS, DQP, CODDTest, and CERT. Targets include logic bugs, performance issues, unexpected internal errors, and crashes. The supported-databases list contains 21 implementations, including PostgreSQL, MySQL, SQLite, DuckDB, and ClickHouse, while the impact page reports evidence of use by 22 DBMS projects. SQLancer runs on Linux, macOS, and Windows and requires Java 11 or above plus Maven. Releases are available through GitHub, Maven Central, and DockerHub. DuckDB, H2, and SQLite can run as embedded systems with binaries included as JAR dependencies. Runs may continue indefinitely when no bugs appear, with options to stop after a selected bug count or timeout. It is free under the MIT License.
Spec sheet
- Purpose
- SQLancer automatically tests database management systems to find bugs in their implementation.Read 4 Oct 2026 · github.com
- Support
- The project README points users to a Slack workspace for SQLancer and DBMS testing discussions.Read 4 Oct 2026 · github.com
- License
- The project says it is free to use under the MIT License.Read 4 Oct 2026 · sqlancer.github.io
- Adoption
- The impact page reports 22 DBMS projects with evidence of using SQLancer.Read 4 Oct 2026 · sqlancer.github.io
- Bug types
- It targets logic bugs, performance issues, unexpected internal errors, and database crashes.Read 4 Oct 2026 · github.com
- Database support
- The official supported-databases page lists 21 implementations, including PostgreSQL, MySQL, SQLite, DuckDB, and ClickHouse.Read 4 Oct 2026 · sqlancer.github.io
- DBMS version limits
- The README says SQLancer is tested against specific DBMS versions and that testing other versions can produce false alarms.Read 4 Oct 2026 · github.com
- Distribution
- The README says releases are available through GitHub, Maven Central, and DockerHub, and recommends the latest source on GitHub.Read 4 Oct 2026 · github.com
- Embedded databases
- DuckDB, H2, and SQLite are supported as embedded systems with binaries included as JAR dependencies.Read 4 Oct 2026 · github.com
- Requirements
- The README lists Java 11 or above and Maven as minimum requirements.Read 4 Oct 2026 · github.com
- Run behavior
- SQLancer can run indefinitely when it finds no bugs; the README describes options to stop after a chosen number of bugs or a timeout.Read 4 Oct 2026 · github.com
- Test generation
- It generates SQL statements and database states, then validates queries using test oracles.Read 4 Oct 2026 · github.com
- Testing methods
- Its listed test oracles include TLP, NoREC, PQS, DQP, CODDTest, and CERT.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Automated SQL and database-state generation
- Multiple listed test oracles
- 21 supported database implementations
- Free MIT License
- Configurable bug-count or timeout stops
Limits
- Requires Java 11 or above
- Requires Maven
- Runs can continue indefinitely
- Other DBMS versions may produce false alarms
Who it suits
SQLancer suits database developers and testers who need automated SQL-based checks across supported DBMS implementations. It is self-hosted and requires Java 11 or newer plus Maven.
Verdict
SQLancer offers automated, configurable testing for a broad set of database systems. Check its supported versions and runtime requirements before incorporating it into a testing workflow.
Where Specifiction places it
- Database Testing Tools#21 of 287.4