A language server providing autocompletion, linting, and error checking for SQL across MySQL, PostgreSQL, and SQLite3.
SQL Language Server is an open-source implementation of the Language Server Protocol (LSP) for SQL. It provides intelligent code assistance features like autocompletion, syntax error checking, and linting for SQL files within code editors. It solves the problem of inconsistent and limited SQL editing support by offering a standardized, editor-agnostic tool that connects to live databases.
Developers and database administrators who write SQL regularly in code editors like VS Code, Neovim, or web-based editors, and need better tooling for MySQL, PostgreSQL, or SQLite3.
It offers a free, open-source alternative to proprietary SQL IDE plugins, with strong multi-database support, deep editor integration via LSP, and configurable linting to maintain code quality.
SQL Language Server
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports MySQL, PostgreSQL, and SQLite3 with detailed connection parameters, including SSH tunneling for secure access, as shown in the configuration examples.
Works across VS Code, Neovim, and Monaco Editor via the Language Server Protocol, providing consistent autocompletion and linting features, with setup guides for each editor.
Integrates sqlint for style enforcement and error checking, with customizable rules in workspace settings and the ability to automatically fix issues using commands like 'fixAllFixableProblems'.
Includes SSH tunneling support and environment variable injection (e.g., ${env:DB_PASSWORD}) to protect sensitive credentials in configuration files, enhancing security for remote databases.
Only supports MySQL, PostgreSQL, and SQLite3, missing popular databases like SQL Server and Oracle, which restricts its use in diverse or enterprise environments.
Requires JSON configuration files with specific parameters for each connection, and SQLite3 may need manual rebuilding (e.g., via 'npm rebuild sqlite'), adding to setup time and potential errors.
Installed via npm and relies on a Node.js environment, which can be a barrier for teams not using JavaScript tooling or preferring native binaries.