EVERYTHING XIAOMI
Get listed

Squawk

Squawk is an open-source linter and language server for PostgreSQL migrations and SQL.

Place
#8 of 26
Score
6.4
Squawk's website

What Squawk is

Squawk is an open-source linter and language server for PostgreSQL migrations and SQL. It checks schema changes for risks that could block database reads or writes, and its rules identify potentially unsafe statements, incompatible changes, and migration patterns. The CLI can lint SQL files, while a language server and VS Code extension bring linting into the editor. For pull requests, a GitHub Action can check modified migrations; Squawk can also comment through its upload-to-github command or GitHub App. The project documents npm, PyPI, release binaries, Docker, a browser playground, and VS Code as ways to use it. The playground runs a WebAssembly build in the browser. Configuration includes PostgreSQL version, included or excluded rules and paths, and whether SQL files are assumed to run in transactions; some rules must be enabled explicitly. Squawk supports PostgreSQL only, has no automatic fixes or custom rules, and its GitHub App needs Pull Requests write permission to comment.

Good

  • Checks migration risks to database reads and writes
  • VS Code extension and language server
  • GitHub Action can lint modified migrations
  • Configurable rules, paths, and transaction assumptions

Watch out

  • Supports PostgreSQL only
  • No automatic fixes
  • No custom rules
  • Some rules are opt-in

Who it suits

Squawk suits developers working with PostgreSQL schema changes who want to lint migrations locally, in an editor, or in pull request workflows.

Verdict

Squawk provides several ways to check PostgreSQL migrations, including editor and pull request workflows. It is a focused choice for teams comfortable reviewing and fixing flagged SQL themselves.

The facts

Each one read from Squawk's own pages, with the date it was checked.

What it does

Audience
Squawk is aimed at developers working with Postgres schema changes who want to lint migrations locally, in an editor, or in pull request workflows.checked 4 Oct 2001
CLI
The CLI can lint SQL files and supports configuration for excluding rules and paths.checked 4 Oct 2001
Downtime prevention
It checks schema changes for risks that can block database reads or writes.checked 3 Oct 2001
Editor support
Squawk provides a language server and VSCode extension for editor linting.checked 4 Oct 2001
GitHub comments
Squawk can comment on GitHub pull requests through its upload-to-github command or a GitHub App.checked 3 Oct 2001
GitHub integration
Squawk can comment on GitHub pull requests through a GitHub Action or its upload-to-github command.checked 4 Oct 2001
Install methods
The docs list npm, pip, direct release binaries, Docker, the browser playground, and VSCode as ways to use Squawk.checked 4 Oct 2001
Migration guidance
Its rules flag schema mistakes, incompatible changes, and migration patterns that can block reads or writes.checked 3 Oct 2001
Opt-in rules
Some rules are disabled by default and must be enabled with an include option or configuration setting.checked 3 Oct 2001
Other CI
The docs describe configuring Squawk as a GitHub App for use outside GitHub Actions, including CircleCI.checked 4 Oct 2001
Postgres focus
The product is specifically a linter for Postgres migrations and SQL.checked 4 Oct 2001
Pricing
The pages opened provide no pricing or paid plans.checked 4 Oct 2001
Product
Squawk is a linter and language server for Postgres migrations and SQL.checked 4 Oct 2001
Pull request integration
The GitHub Action can lint modified SQL migrations on pull requests.checked 3 Oct 2001
Purpose
It checks schema changes to help prevent blocking reads or writes and breaking existing clients.checked 4 Oct 2001
Rule configuration
Users can include or exclude rules, set a PostgreSQL version, and configure whether SQL files are assumed to run in transactions.checked 3 Oct 2001
Rules
Its rules flag potentially unsafe migration statements and provide actionable messages with examples and reasoning.checked 4 Oct 2001
Security and compliance
The pages opened provide no security or compliance commitments.checked 4 Oct 2001
Support
The site links to GitHub Help and directs users to open an issue if a rule, message, or documentation page needs improvement.checked 4 Oct 2001
Support route
The website links to GitHub Help for support.checked 3 Oct 2001
Ways to install
The project documents installation through npm, PyPI, direct release binaries, Docker, a browser playground, and VS Code.checked 3 Oct 2001

Where it runs

Browser playground
A WASM powered playground lets users lint SQL locally in a browser.checked 4 Oct 2001
GitHub App permissions
The GitHub App setup guide specifies Pull Requests write permission so Squawk can comment on pull requests.checked 3 Oct 2001
Platform binaries
The releases page lists macOS (darwin) and Linux binaries as well as VS Code extension packages.checked 3 Oct 2001

Alternatives to Squawk

All alternatives
  1. 1

    Poor SQL

    Free planOpen sourceWebAPIExtensionLinux
    7.3Free plan
  2. 2

    SQLFormat.org

    Free planOpen sourceWebAPIExtensionSelf-hosted
    7.1Free plan
  3. 3

    sqlfmt

    Free planWebAPILinuxSelf-hosted
    6.7Free plan
  4. 4

    RegSQL

    Free planWeb
    6.5From $8 a month
  5. 5

    SQLCheck

    Free planLinuxmacOSWindows
    6.5Free plan
  6. 6

    sqlfmt

    Free planWebAPI
    6.5From $9 a month