←back to thread

190 points MaxTeabag | 2 comments | | HN request time: 0.458s | source

I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.

I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.

  Sqlit is a keyboard-driven SQL TUI with:

  - Context-based keybindings (always visible)
  - Neovim-like interface with normal and insert mode for query editing
  - Browse databases, tables, views, stored procedures
  - Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
  - SSH tunneling support
  - Themes (Tokyo Night, Nord, Gruvbox etc.)

  Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.

https://github.com/Maxteabag/sqlit

1. waterTanuki ◴[] No.46298510[source]
Tried it out on a local test postgres db.

First error: "Connection failed, no module named 'psycopg2'"

replies(1): >>46299685 #
2. lgas ◴[] No.46299685[source]
You need to install psycopg2, or perhaps more likely psycopg2-binary to access postgres databases. After hiichbindermax and mrbump helped me out upthread, I was able to get it working via:

    uvx --from sqlit-tui --with psycopg2-binary sqlit
If you're not using uv, then you'll need to install psycopg2-binary in whatever environment you're using (probably via `pip install psycopg2-binary`).