Skip to content
SPECIFICTION
Get listed

Poor SQL vs Squawk

Poor SQL

poorsql.com

Squawk

squawkhq.com

Side by side

FigurePoor SQLSquawk
Price fromFree—
Free planYes—
Free trial——
Open sourceYes—
WebYesYes
WindowsYesYes
macOS—Yes
LinuxYesYes
iOS—Yes
Android—Yes
APIYesYes
Self-hosted—Yes
Plans published10
Spec score · SQL Linters and Formatters9.0 (#1)7.3 (#22)
SupportUsers are directed to contact Tao Klerks by email or file issues in the GitHub issue tracker.The site links to GitHub Help and directs users to open an issue if a rule, message, or documentation page needs improvement.

Plans

Poor SQL

  • FreeFree

Poor SQL pricing →

Squawk

No plans published.

Squawk pricing →

In their own words

Poor SQL

Poor SQL reformats and colorizes T-SQL according to settings such as indentation, tab spacing, maximum width, and where statements and clauses break. It can expand comma lists, boolean and CASE expressions, and JOIN ON sections. Formatting runs in the browser, including offline, and the site says submitted SQL is not sent to an external service. Output views include input SQL, formatted SQL, and HTML source. An obfuscation and minification option can vary colors, line lengths, and keyword case, or substitute keywords. Downloads include plugins for SQL Server Management Studio, Visual Studio, and WinMerge, plus a command-line bulk formatter. The open-source Poor Man’s T-SQL Formatter library is AGPL-licensed and supports Microsoft.NET and Mono; its JavaScript library works in browsers and contexts such as Node.js. The project describes its parsing as coarse rather than full, especially for DDL. The free plan is free. Settings are remembered with a cookie; blocking cookies restores defaults on each visit.

Visit poorsql.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