Sqlsmith Versions Save

A random SQL query generator

v1.4

2 years ago
  • Initial CMake Support (@tbe)
  • Add GitHub workflow (@df7cb)
  • Teach consistent() about anymultirange and anycompatible* types (@df7cb)
  • Avoid debian tags when generating gitrev.h (@anse1)

v1.3

2 years ago
  • Support libpqxx version 7.x
  • Add boring_sqlstates.txt to log schema init
  • Support PG14's multirange types
  • Fix connection establishment with recent libpq

v1.2.1

5 years ago

v1.2.1 contains the following fixes for v1.2:

  • Tame a production that caused stack overflows with MonetDB as target
  • Add missing include directive in sqlite.cc

v1.2

5 years ago

Release 1.2 includes the following changes:

  • Support for SQLite3
  • Support for MonetDB (contributed by Sjoerd Mullender et al)
  • Support for old PostgreSQL releases (>=9.1)
  • New option --exclude-catalog (contributed by Julien Rouhaud)
  • Automatic blacklisting of grammar not supported by the target
  • Grammar improvements

v1.0

7 years ago

SQLsmith is a random SQL query generator for PostgreSQL. It is inspired by Csmith, which generates random C code.

Use cases are quality assurance through fuzz testing and benchmarking. Besides PostgreSQL developers, users developing extensions might also be interested in exposing their code to SQLsmith's random workload.

During its development, it already found about thirty bugs in PostgresSQL alphas, betas and releases, including security vulnerabilities in released versions. There is a score list maintained by its users in a wiki:

https://github.com/anse1/sqlsmith/wiki#score-list

Version 1.0 supports generating queries for PostgreSQL 9.5 or later only. SQLsmith was designed with testing different versions and even products in mind, but this has not manifested yet for the first release.

SQLsmith is available under GPLv3. Use it at your own risk. It may damage your database (one of the purposes of this tool is to try and break things). See the file COPYING for details.

Packages for Debian/Ubuntu are available via apt.postgresql.org.