Dadbod is a Vim plugin that provides a modern database interface for executing queries and managing database connections directly within the editor.
The plugin solves the problem of cumbersome database interaction in Vim by replacing the older dbext.vim approach with a simpler, unified interface. Rather than managing fourteen separate configuration variables or remembering dozens of commands and key mappings, dadbod uses a single `:DB` command that accepts database URLs as parameters. Connections are configured once per project using URL strings, and queries can be executed interactively, passed as arguments, run from buffer selections, or loaded from files. Results appear in a preview window, and the tool supports saving connection URLs to Vim variables for reuse across multiple commands.
The plugin supports a broad range of database backends spanning traditional SQL systems like PostgreSQL, MySQL, and SQLite alongside modern NoSQL options including MongoDB and Redis, as well as specialized tools like BigQuery, DuckDB, and Snowflake. It also accepts alternative URL formats for interoperability with dbext profiles, JDBC connections, environment variables, and custom handlers provided by other plugins. For developers who cannot abandon dbext entirely, an option exists to force dbext to use dadbod's configured default database. Those needing a graphical interface for managing multiple simultaneous connections should consider dadbod-ui as a companion tool.
The project maintains a focused scope, implementing core database interaction functionality without attempting to replicate every esoteric feature of its predecessor. Development activity shows consistent engagement with bug fixes and incremental improvements to the codebase. The plugin integrates cleanly with the Vim ecosystem, supporting project-level configuration similar to established plugins like rails.vim and offering extension points for other plugins to register custom URL handlers.