Skip to content
SPECIFICTION
Get listed

SQLCheck vs sqlfmt

SQLCheck

github.com

sqlfmt

github.com

Side by side

FigureSQLChecksqlfmt
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
WindowsYes—
macOSYes—
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · SQL Linters and Formatters8.2 (#7)8.5 (#3)
Build requirementsBuilding from source requires g++ 4.9+ and CMake, and the repository should be cloned with its recursive option.Building WebAssembly requires tinygo and wasm-opt on PATH.
LicenseThe repository says SQLCheck is licensed under the Apache License.sqlfmt is distributed under the PostgreSQL Licence.
PurposeSQLCheck automatically detects common SQL anti-patterns that can slow queries.sqlfmt is a gofmt-style command-line formatter for PostgreSQL SQL.

Plans

SQLCheck

  • SQLCheckFree

SQLCheck pricing →

sqlfmt

  • Browser formatterFree

sqlfmt pricing →

In their own words

SQLCheck

SQLCheck is a free command-line utility that scans SQL files for common anti-patterns associated with slow queries. It groups findings into logical database design, physical database design, query, and application development categories. Users can choose to check all patterns, medium- and high-risk patterns, or only high-risk patterns. The command line accepts a SQL file name and offers color and verbose output modes. The project identifies Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite3 as supported dialects, and says it targets all major SQL dialects. Downloads are listed for Debian, RPM, macOS DMG, Windows EXE, and ZIP. Release notes for v1.3 list line numbers and a status code of 1 when anti-patterns are found. SQLCheck does not automatically fix findings and has no editor extensions or configuration file. Source-build instructions name g++ 4.9 or later and CMake. The repository identifies the license as Apache-2.0 and welcomes issues, pull requests, and documentation contributions.

Visit github.com

sqlfmt

sqlfmt is a free formatter for PostgreSQL SQL, available as a command-line tool and as a browser formatter running through WebAssembly. Its river-aligned style pads clause keywords so they share a column. The CLI reads SQL from files or stdin and writes formatted SQL to stdout; it can also rewrite files in place, list files needing changes, and show unified diffs. Its explain subcommand formats PostgreSQL plan text and can provide advice, canonicalized output, or structural comparisons. Plan advice describes join order, join and access methods, and parallelism, without costs, row estimates, or timing. The explain diff operation returns exit code 0 for structurally identical plans and 1 when structures differ, so it can be used in scripts and CI. A Go subpackage provides formatting for Go programs, and the project includes Emacs and Vim integrations. The browser build exposes formatting and version functions to JavaScript. Deeply nested subqueries and less common upsert or DDL forms remain best-effort areas. sqlfmt is intended for standalone formatting and SQL used in The Art of PostgreSQL book and courses.

Visit github.com