About Goose
This entry covers goose, the database migration tool published by Pressly. It is both a command-line program and a Go library, and it manages a database schema through incremental changes written as SQL files or as Go functions.
It works with many databases, including Postgres, MySQL, MariaDB, Spanner, SQLite, YDB, ClickHouse, MSSQL and Vertica. Notable capabilities include migrations written as plain Go functions, embedded migrations, out-of-order migrations, data seeding and environment variable substitution inside SQL migrations. Commonly used commands include create, up, up-to and down, and driver-specific details are documented.
Goose is installed as a Go binary or through Homebrew on macOS, and a lighter build can be made by excluding database drivers you do not need. The repository lists the license as Other. It is used by Go developers who want repeatable, version-controlled schema changes for their applications and deployments.
Key features
- SQL file migrations
- Migrations written as Go functions
- Support for many databases
- Embedded migrations in binaries
- Out-of-order migration support
- Data seeding support
- Environment variable substitution in SQL
Good fit for
- →Versioned schema changes in Go services
- →Running migrations in CI and deployments
- →Seeding databases for development
- Tags
- database-migrations
- migrations
- golang
- sql
- cli
- postgresql
- mysql
- sqlite
Goose: questions and answers
- What is Goose used for?
- Goose from the Pressly organization is a database migration tool, usable as a CLI or Go library, that applies versioned SQL files or Go functions. It is a good fit for versioned schema changes in Go services, running migrations in CI and deployments, and seeding databases for development.
- Is Goose open source?
- Yes. Goose is open source under a custom licence. Its source code is on GitHub at pressly/goose and is written mainly in Go.
- Is Goose free?
- Yes. Goose is open source, so the software itself is free to use under the terms of its own licence.
- What are some alternatives to Goose?
- Similar open-source tools in the Database Tools category include Pgloader, Outerbase Studio and Beekeeper Studio. SaaS products in the same category include Valentina Studio, DBCode and SQLPro Studio.
- Is Goose actively maintained?
- Yes. The most recent commit to Goose was on 1 October 2026, and the latest release is v3.28.0, published on 2 September 2026. The project has 12k stars on GitHub.
Open-source alternatives to Goose
See all
Pgloader
Database Tools
Migrate to PostgreSQL in a single command!
OSS★ 6.5k
Outerbase Studio
Database Tools
A lightweight Database GUI in your browser. It supports connecting to Postgres, MySQL, and
AGPL-3.0vs TablePlus★ 6k
Beekeeper Studio
Database Tools
Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux
OSSvs DataGrip★ 24kAdminer
Database Tools
Database management in a single PHP file
OSSvs DataGrip★ 7.9k
Anyquery
Database Tools
One SQL interface for 60+ tools (e.g., GitHub, Notion, Airtable). Plug into any LLM throug
OSS★ 1.8k
q
Database Tools
q - Run SQL directly on delimited files and multi-file sqlite databases
GPL-3.0★ 10k
SaaS alternatives to Goose
See allValentina Studio
Database Tools
Database administration and query tool with a free edition for several database engines
SaaS
DBCode
Database Tools
VS Code extension for browsing and querying databases
SaaS
SQLPro Studio
Database Tools
Database client for macOS, iOS and Windows supporting Postgres, MySQL, SQL Server and Oracle
SaaS
TablePlus
Database Tools
Native database client for PostgreSQL, MySQL, SQLite, Redis and more
SaaS
dbForge Studio
Database Tools
Devart IDE suite for developing and managing MySQL, SQL Server, Oracle and PostgreSQL
SaaS
Navicat
Database Tools
Database administration and development client for many SQL and NoSQL systems
SaaS

