A universal command-line interface for SQL and NoSQL databases, inspired by PostgreSQL's psql.
usql is a universal command-line interface for SQL and NoSQL databases. It provides a unified, psql-like experience for interacting with a wide variety of database systems, including PostgreSQL, MySQL, Oracle, SQLite, Microsoft SQL Server, and many others, through a single tool. It solves the problem of needing to learn and switch between multiple database-specific CLI clients.
Database administrators and developers who work with multiple database systems and prefer a consistent, command-line interface. It is particularly useful for PostgreSQL users familiar with psql who need to work with non-PostgreSQL databases.
Developers choose usql because it offers a familiar psql-like interface with enhanced features like syntax highlighting, context-based tab completion, and the ability to copy data between different databases. Its unique selling point is providing a single, consistent CLI tool for over 30 database systems, reducing the need to learn multiple client tools.
Universal command-line interface for SQL databases
Supports over 30 SQL and NoSQL databases including PostgreSQL, MySQL, Oracle, and Cassandra, with a detailed driver table listing all options.
Emulates core psql features such as variables, backslash commands, and backticks, making it intuitive for PostgreSQL users transitioning to other databases.
Includes syntax highlighting, context-based tab completion, and terminal graphics, which improve usability beyond basic database clients.
The \copy command enables transferring data between different database systems, useful for migrations and integrations without switching tools.
Including specific drivers requires using Go build tags (e.g., -tags most), which can be confusing and error-prone for users unfamiliar with Go tooling.
Admits that its \copy command is distinct from psql's and may not support all database-specific commands or optimizations available in native clients.
Drivers like SQLite3 and ODBC require CGO, complicating installation on platforms where CGO is unsupported or undesirable, such as some constrained environments.
:cherry_blossom: A command-line fuzzy finder
A tool for exploring each layer in a docker image
A command-line tool that makes git easier to use with GitHub.
💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.