Freedom251 › SQL Linters and Formatters
Squawk

What Squawk is
Squawk is a linter and language server for PostgreSQL migrations and SQL. It checks schema changes for potential risks to database reads and writes, flagging unsafe statements, incompatible changes, and migration patterns that may block access. Its messages include examples and reasoning to help developers understand the issue. Use the CLI to lint SQL files, or bring checks into an editor with the language server and VS Code extension. Squawk can also lint modified migrations in GitHub pull requests through a GitHub Action and can comment on pull requests using its upload-to-github command or GitHub App. It can run in other CI setups, with the documentation describing a GitHub App configuration for cases such as CircleCI. Installation options include npm, PyPI, release binaries, Docker, VS Code, and a browser playground that runs a WebAssembly build. Configuration covers PostgreSQL version, included or excluded rules and paths, and transaction assumptions; some rules need to be enabled explicitly. Squawk is free and open source, and supports PostgreSQL only.
Who it suits
Squawk suits developers maintaining PostgreSQL schema changes who want migration checks locally, in an editor, or in pull request workflows. It is also relevant to teams using GitHub or other CI systems.
What it does well
- Free and open source.
- Linting available in the CLI and VS Code.
- GitHub Action can check modified migrations.
- Configuration can include or exclude rules and paths.
- Browser playground lints SQL using WebAssembly.
What to know first
- Supports PostgreSQL only.
- No automatic fixes or custom rules.
- Some rules must be enabled explicitly.
- GitHub App needs Pull Requests write permission to comment.
Limits
Squawk handles PostgreSQL only and does not provide automatic fixes or custom rules. Rules that are disabled by default must be enabled through configuration or an include option.
Getting started
- Open the Squawk website
- Install it through npm, PyPI, a release binary, Docker, VS Code, or the browser playground
- Configure PostgreSQL version, included or excluded rules, paths, and transaction assumptions
- Run the CLI or language server against PostgreSQL SQL and migrations
- Add the GitHub Action for pull-request linting
- Set up the GitHub App or upload-to-github command for pull-request comments
Verdict
Squawk offers PostgreSQL-focused migration linting across local, editor, and pull request workflows. Teams should note its limited dialect scope and the need to enable some rules themselves.
Questions
Is Squawk free?
Yes. It is open source and listed as free, with no paid plans described.
Which database language does it support?
Squawk supports PostgreSQL migrations and SQL.
Can it run in a code editor?
Yes. It provides a language server and a VS Code extension.
Can Squawk comment on pull requests?
Yes. GitHub Actions, the upload-to-github command, or a GitHub App can add comments; the App needs Pull Requests write permission.
Can rules be customized?
Rules can be included or excluded, and paths, PostgreSQL version, and transaction assumptions can be configured. Custom rules are not supported.
How can it be installed?
The project documents npm, PyPI, direct release binaries, Docker, VS Code, and a browser playground.
Facts from Squawk's own pages
- 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. · squawkhq.com, 4 Oct 2026
- Browser playground
- A WASM powered playground lets users lint SQL locally in a browser. · squawkhq.com, 4 Oct 2026
- CLI
- The CLI can lint SQL files and supports configuration for excluding rules and paths. · squawkhq.com, 4 Oct 2026
- Downtime prevention
- It checks schema changes for risks that can block database reads or writes. · squawkhq.com, 3 Oct 2026
- Editor support
- Squawk provides a language server and VSCode extension for editor linting. · squawkhq.com, 4 Oct 2026
- GitHub App permissions
- The GitHub App setup guide specifies Pull Requests write permission so Squawk can comment on pull requests. · squawkhq.com, 3 Oct 2026
- GitHub comments
- Squawk can comment on GitHub pull requests through its upload-to-github command or a GitHub App. · squawkhq.com, 3 Oct 2026
- GitHub integration
- Squawk can comment on GitHub pull requests through a GitHub Action or its upload-to-github command. · squawkhq.com, 4 Oct 2026
- Install methods
- The docs list npm, pip, direct release binaries, Docker, the browser playground, and VSCode as ways to use Squawk. · squawkhq.com, 4 Oct 2026
- Migration guidance
- Its rules flag schema mistakes, incompatible changes, and migration patterns that can block reads or writes. · squawkhq.com, 3 Oct 2026
- Opt-in rules
- Some rules are disabled by default and must be enabled with an include option or configuration setting. · squawkhq.com, 3 Oct 2026
- Other CI
- The docs describe configuring Squawk as a GitHub App for use outside GitHub Actions, including CircleCI. · squawkhq.com, 4 Oct 2026
- Platform binaries
- The releases page lists macOS (darwin) and Linux binaries as well as VS Code extension packages. · github.com, 3 Oct 2026
- Postgres focus
- The product is specifically a linter for Postgres migrations and SQL. · squawkhq.com, 4 Oct 2026
- Pricing
- The pages opened provide no pricing or paid plans. · squawkhq.com, 4 Oct 2026
- Product
- Squawk is a linter and language server for Postgres migrations and SQL. · squawkhq.com, 4 Oct 2026
- Pull request integration
- The GitHub Action can lint modified SQL migrations on pull requests. · squawkhq.com, 3 Oct 2026
- Purpose
- It checks schema changes to help prevent blocking reads or writes and breaking existing clients. · squawkhq.com, 4 Oct 2026
- Rule configuration
- Users can include or exclude rules, set a PostgreSQL version, and configure whether SQL files are assumed to run in transactions. · squawkhq.com, 3 Oct 2026
- Rules
- Its rules flag potentially unsafe migration statements and provide actionable messages with examples and reasoning. · squawkhq.com, 4 Oct 2026
- Security and compliance
- The pages opened provide no security or compliance commitments. · squawkhq.com, 4 Oct 2026
- Support
- The site links to GitHub Help and directs users to open an issue if a rule, message, or documentation page needs improvement. · squawkhq.com, 4 Oct 2026
- Support route
- The website links to GitHub Help for support. · squawkhq.com, 3 Oct 2026
- Ways to install
- The project documents installation through npm, PyPI, direct release binaries, Docker, a browser playground, and VS Code. · squawkhq.com, 3 Oct 2026
Where Squawk stands on Freedom251
- SQL Linters and Formatters#22 of 26