Skip to content
SPECIFICTION
Get listed

SQLFluff vs Squawk

SQLFluff

sqlfluff.com

Squawk

squawkhq.com

Side by side

FigureSQLFluffSquawk
Price fromFree—
Free planYes—
Free trial——
Open source——
Web—Yes
WindowsYesYes
macOSYesYes
LinuxYesYes
iOS—Yes
Android—Yes
APIYesYes
Self-hostedYesYes
Plans published10
Spec score · SQL Linters and Formatters8.0 (#10)7.3 (#22)
PurposeSQLFluff is an open source, dialect-flexible SQL linter designed with ELT applications in mind.It checks schema changes to help prevent blocking reads or writes and breaking existing clients.
RulesThe documentation lists more than 70 linting rules covering style, structure, and best practices.Its rules flag potentially unsafe migration statements and provide actionable messages with examples and reasoning.
SupportThe project lists documentation, GitHub, Slack, and Stack Overflow as community channels.The site links to GitHub Help and directs users to open an issue if a rule, message, or documentation page needs improvement.

Plans

SQLFluff

  • SQLFluffFree

SQLFluff pricing →

Squawk

No plans published.

Squawk pricing →

In their own words

SQLFluff

SQLFluff is an open-source, dialect-flexible SQL linter designed for ELT applications. It reports style and syntax issues, parses SQL without database access and can automatically fix many violations with one command. Documentation describes support for more than 25 dialects, including T-SQL, PostgreSQL, BigQuery and Snowflake, alongside more than 70 rules for style, structure and best practices. Jinja templating and dbt are supported, and CI/CD integration includes GitHub Actions output for pull-request annotations. SQLFluff is free under the MIT License and installs from PyPI with pip or another Python package manager. It does not execute SQL itself, but templating macros such as dbt's run_query may execute arbitrary SQL. The Jinja templater uses Jinja2 SandboxedEnvironment to limit unsafe code execution. The dbt templater requires the relevant adapter and sqlfluff-templater-dbt package; models accessing a database during compilation require database access. Community support includes documentation, GitHub, Slack and Stack Overflow.

Visit sqlfluff.com

Squawk

Squawk is an open-source linter and language server for PostgreSQL migrations and SQL. It checks schema changes for risks that could prevent database reads or writes. Its rules flag potentially unsafe statements, incompatible changes, and migration patterns, with messages that include examples and reasoning. The command-line tool lints SQL files, and a language server and VS Code extension provide editor linting.

For pull requests, a GitHub Action can lint modified migrations; Squawk can also comment through its upload-to-github command or GitHub App. For CI outside GitHub Actions, the documentation recommends configuring the GitHub App, citing CircleCI as an example. Installation options include npm, PyPI, release binaries, Docker, the browser playground, and VS Code. The playground uses WebAssembly to lint SQL in a browser. Configuration can set the PostgreSQL version, include or exclude rules and paths, and specify whether SQL files are assumed to run in transactions. Some rules are disabled by default and require explicit enabling. Squawk supports PostgreSQL only and has no automatic fixes or custom rules.

Visit squawkhq.com