A modern, fast PostgreSQL database client for macOS and Windows
Browse schemas, edit data, write queries, and manage your databases with a native interface.
![]() Dashboard |
![]() Table Browse |
![]() Git Diff Changes |
![]() Commits History |
![]() Custom Table Builder |
![]() SQL Playground |
Every cell editor adapts to the column's PostgreSQL data type — no generic text fields
- Numbers — Dedicated numeric inputs with arrow-key increment/decrement for
integer,bigint,smallint,decimal,numeric,float,double precision,real, andmoney - Booleans — Dropdown toggle between
true,false, andNULL - Dates & Timestamps — Native date/time pickers for
date,time,timestamp, andtimestamptz - Enums — Auto-detected PostgreSQL enum types rendered as searchable dropdown selects
- JSON / JSONB — Expandable textarea editors for structured data
- Arrays — Tag-based array editors for any PostgreSQL array type (
text[],int[], etc.) - Large Text — Values over 500 characters are truncated with an expandable modal editor
- NULL Handling — Explicit NULL display and toggling across all types
Columns with FK constraints get a searchable select dropdown that queries the referenced table in real time
No more copying UUIDs or IDs by hand — just search and pick from the related records.
- Serial / auto-increment columns (
serial,bigserial,smallserial, generated defaults) are automatically hidden when inserting new rows - Primary key indicators shown directly in column headers
- Column metadata — data type, nullability, defaults, and constraints visible at a glance
Build multi-column filter rules with operators that adapt to each column type
| Type | Operators |
|---|---|
| Text | contains, not contains, equals, starts with, ends with, is null |
| Numbers | =, !=, >, <, >=, <=, between, is null |
| Booleans | is true, is false, is null |
| Dates | equals, after, before, between, is null |
| Enums | equals, not equals (with dropdown picker) |
| UUID | equals, not equals, is null |
| JSON / Arrays | is null, is not null |
Filters are persisted per table across sessions.
Click a column header to sort. Shift+click to add secondary, tertiary, and further sort levels. Sort direction, order, and state are persisted per table.
Track database changes with a commit-based workflow
- Staged Changes — Queue inserts, updates, and deletes before applying. Review everything in a dedicated tab
- Commit History — Every batch of changes is recorded with a message, timestamp, and full diff
- Commit Diff View — Inspect exactly what changed in each commit, row by row
- Instant Mode — Optionally skip staging and apply changes immediately (configurable per project)
- Inline editing — Double-click any cell to edit in place
- Row detail modal — Full-screen editor for all columns in a single row
- Insert rows — Type-aware form inputs
- Delete rows — Individual or multi-selected (Shift+click / Cmd+click)
- Bulk import — CSV or JSON with column matching, data preview, and cell editing before commit
Full CodeMirror SQL editor with PostgreSQL syntax highlighting and autocomplete
- Execute queries with Cmd/Ctrl+Enter
- Results in a data grid with execution time and row count
- Query history and saved queries
- SQL formatting built in
- Export results to CSV or JSON
A visual UI for creating and modifying tables — no raw DDL needed
- Add/remove columns with type selection from all PostgreSQL types
- Define primary keys, unique constraints, check constraints, and foreign keys
- Create indexes (B-tree, Hash, GiST, GIN, BRIN)
- Set default values and nullability
- Live SQL preview of the generated
CREATE TABLE/ALTER TABLEstatement
- Import CSV or JSON with auto-header detection, column mapping, data preview, and pre-import editing
- Export any table or query result to CSV or JSON via native file picker
- Manage multiple PostgreSQL connections as color-coded projects
- SSL support (
disable,prefer,require) - Secure credential storage via the OS keychain
- Connection health checks with auto-reconnect
- Switch between projects instantly from the sidebar or command palette
Note: Because database passwords are stored in the OS keychain, some systems may prompt you to enter your system password or approve keychain access when establishing a connection. This is expected behavior.
| Shortcut | Action |
|---|---|
Cmd/Ctrl + K |
Command palette |
Cmd/Ctrl + B |
Toggle sidebar |
Cmd/Ctrl + W |
Close active tab |
Cmd/Ctrl + N |
New table |
Cmd/Ctrl + T |
New query |
Double-click |
Edit cell |
Shift + Click |
Multi-select rows / add sort column |
Escape |
Close modals & popovers |
Open multiple tables, queries, imports, and schema editors side by side. Tabs are draggable, pinnable, and support close/close-others/close-all.
Collapsible sidebar tree of all schemas, tables, views, materialized views, and foreign tables — with right-click context menus for quick operations.
Download the latest release from the Releases page.
| Platform | Format |
|---|---|
| macOS (Apple Silicon) | .dmg |
| Windows | .exe / .msi |
The app is not code-signed with an Apple Developer certificate. To fix:
xattr -cr /Applications/Tusker.appOr right-click the app > Open > click Open again in the dialog.
Development
Prerequisites
- https://rustup.rs/
- https://bun.sh/
- Linux only: libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
Setup
git clone https://github.com/18jad/tusker.git cd tusker bun install bun tauri dev
Build
bun tauri build
Contributing
- Fork the repository
- Create a branch: git checkout -b feature/your-feature
- Make your changes and test locally
- Submit a Pull Request







