CheckOps
Squawk
Squawk is an Apache-2.0 linter for PostgreSQL migrations that flags changes likely to cause downtime, with a CLI, Docker image, GitHub Action and browser playground.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Squawk is a linter for PostgreSQL migrations that aims to prevent unexpected downtime and encourage best practices.
It parses SQL migration files and warns about issues such as adding columns or constraints in ways that take heavy locks, creating indexes without CONCURRENTLY, or choosing 32-bit integers where bigint is safer, with help text for each rule. It runs as a CLI, a Docker image, a GitHub Action, and in a WASM playground.
In the quality loop Squawk gates risky migrations in pull requests.
The source code is at sbdchd/squawk on GitHub under the Apache-2.0 licence, with about 1,300 stars; the most recent commit was on 11 November 2026.
Features
- Downtime rules: Lock-heavy changes flagged.
- Help text: Fix guidance per rule.
- GitHub Action: PR comments.
- Docker image: ghcr.io/sbdchd/squawk.
- Playground: Check SQL in the browser.
- Configurable: Exclude rules.
Pros
- Focused: Catches costly migration mistakes.
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 11 November 2026.
Cons
- PostgreSQL only: No other databases.
- SQL files: Needs raw SQL migrations.
- Context-blind: Cannot know table sizes.
Usage and Links (Example)
squawk migrations/*.sql
Resources:
Pricing
Squawk is free and open source under the Apache-2.0 licence.
Recommended for?
- PostgreSQL teams shipping frequent migrations.
Conclusion
Squawk is a cheap, effective guard against migration-induced outages.
Add it to every migration pull request.
On CheckOps, Squawk is filed under the Release & CI gates stage. Related tools listed here include pgTAP, utPLSQL, SQLFluff, Atlas, Database Lab Engine and dbt tests. When comparing them, weigh the licence, the languages and platforms each supports, whether it is self-hosted or managed, and how cleanly it slots into your existing CI pipeline. Details on this page were checked against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Squawk side by side.
- PpgTAPpgTAP is a unit testing framework for PostgreSQL written in PL/pgSQL and PL/SQL, providing TAP-emitting assertions for schema, data and functions, run with pg_prove.Compare with Squawk
UutPLSQLutPLSQL is an Apache-2.0 unit testing framework for Oracle PL/SQL and SQL, with annotations, rich expectations and reporters for SonarQube, Jenkins and TeamCity.Compare with Squawk
SSQLFluffSQLFluff is an MIT dialect-flexible SQL linter and auto-formatter with Jinja and dbt templating support.Compare with Squawk
AAtlasAtlas is an Apache-2.0 schema-as-code tool from Ariga for declarative and versioned database migrations, with migration linting and schema tests in CI.Compare with Squawk
DDatabase Lab EngineDatabase Lab Engine (DBLab) is Postgres.ai's Apache-2.0 tool for thin cloning and branching of large PostgreSQL databases in seconds for development and testing.Compare with Squawk
Ddbt testsdbt tests are the built-in data tests and unit tests of dbt, the Apache-2.0 data transformation framework, used to validate models with unique, not_null, accepted_values and relationships checks.Compare with Squawk