Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,228 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PinkHunkDB - A Modern Lightweight Database Client

Go Version Wails Version React Version License Build Status Stars Downloads

Language: English | 简体中文

Fork Notice

This repository (FaaTang/PinkHunkDB) is a personal fork of the upstream project Syngnat/GoNavi, maintained for customized development and personal use.

  • Copyright and trademarks of the upstream project belong to the original Syngnat/GoNavi authors. This fork modifies and redistributes code under the Apache-2.0 license.
  • Releases, issues, and custom changes in this fork are maintained independently and are not affiliated with the upstream project.
  • No guarantee of long-term maintenance: updates, bug fixes, and feature support depend on personal availability and needs. There is no commitment to permanently track upstream or fix every issue.
  • For the official upstream project, stable releases, or upstream contributions, please visit Syngnat/GoNavi.

PinkHunkDB is a modern, high-performance, cross-platform database client built with Wails (Go) and React. It delivers native-like responsiveness with low resource usage.

Compared with many Electron-based clients, PinkHunkDB is typically smaller in binary size (around 10MB class), starts faster, and uses less memory.


Project Overview

PinkHunkDB is designed for developers and DBAs who need a unified desktop experience across multiple databases.

  • Native-performance architecture: Wails (Go + WebView) with lightweight runtime overhead.
  • Large dataset usability: virtualized rendering and optimized DataGrid workflows for high-volume tables.
  • Unified connectivity: URI build/parse, SSH tunnel, proxy support, and on-demand driver activation.
  • Production-oriented workflow: SQL editor, object management, batch export/backup, sync tools, execution logs, and update checks.

Supported Data Sources

Built-in: available out of the box.
Optional driver agent: install/enable via Driver Manager first.

Category Data Source Driver Mode Typical Capabilities
Relational MySQL Built-in Schema browsing, SQL query, data editing, export/backup
Relational PostgreSQL Built-in Schema browsing, SQL query, data editing, object management
Relational Oracle Built-in Query execution, object browsing, data editing
Cache Redis Built-in Key browsing, command execution, encoding/view switch
Relational MariaDB Optional driver agent Querying, object management, data editing
Relational Doris Optional driver agent Querying, object browsing, SQL execution
Columnar Analytics StarRocks Optional driver agent Querying, object browsing, SQL execution
Search Sphinx Optional driver agent SphinxQL querying and object browsing
Relational SQL Server Optional driver agent Schema browsing, SQL query, object management
File-based SQLite Optional driver agent Local DB browsing, editing, export
File-based DuckDB Optional driver agent Large-table query, pagination, file-DB workflow
Domestic DB Dameng Optional driver agent Querying, object browsing, data editing
Domestic DB Kingbase Optional driver agent Querying, object browsing, data editing
Domestic DB HighGo Optional driver agent Querying, object browsing, data editing
Domestic DB Vastbase Optional driver agent Querying, object browsing, data editing
Document MongoDB Optional driver agent Document query, collection browsing, connection management
Time-series TDengine Optional driver agent Time-series schema browsing and querying
Columnar Analytics ClickHouse Optional driver agent Analytical query, object browsing, SQL execution
Federated Query Trino Optional driver agent Cross-source SQL via multiple catalogs, catalog.schema browsing, SQL execution
Search Elasticsearch Optional driver agent Index browsing, mapping inspection, JSON DSL / query_string search
Extensibility Custom Driver/DSN Custom Extend to more data sources via Driver + DSN

📸 Screenshots

image image image
image image image

Key Features

AI Assistant (New)

  • Multi-provider Support: OpenAI, Google Gemini, Anthropic Claude, and custom API support.
  • Context-Aware Chat: Attach table schemas to the AI context for accurate SQL generation and assistance.
  • Slash Commands: Quick commands for generating SQL, explaining queries, optimizing performance, and reviewing schema designs.

Performance

  • Smooth interaction under load: optimized table interaction (including column resize workflow on large datasets).
  • Virtualized rendering: keeps large result sets responsive.

Data Management (DataGrid)

  • In-place cell editing.
  • Batch insert/update/delete with transaction-oriented submit/rollback.
  • Large-field popup editor.
  • Context actions (set NULL, copy/export, etc.).
  • Smart read/write mode switching based on query context.
  • Export formats: CSV, Excel (XLSX), JSON, Markdown.

SQL Editor

  • Monaco Editor core.
  • Context-aware completion for databases/tables/columns.
  • Multi-tab query workflow.
  • SQL beautify / restore (remembers pre-beautify text across sessions).
  • Optional “ask what to execute” chooser (statement / selection / all).
  • Cancellable queries; focus search within the active tab.

Batch Export / Backup

  • Database-level and table-level batch export/backup.
  • Scope-aware operation flow to reduce mistakes.

Connectivity

  • URI generation/parsing.
  • SSH tunnel support.
  • Proxy support.
  • Config import/export (JSON).
  • Optional driver management and activation.

Redis Tools

  • Multi-view value rendering (auto/raw text/UTF-8/hex).
  • Built-in command execution panel.

Observability and Update

  • SQL execution logs with timing information.
  • Startup/scheduled/manual update checks.
  • About dialog with version and release notes.

UI/UX

  • Ant Design 5 based interface.
  • Light/Dark themes.
  • Flexible sidebar and layout behavior.
  • Improved window creation and state restore.

Tech Stack

  • Backend: Go 1.24 + Wails v2
  • Frontend: React 18 + TypeScript + Vite
  • UI: Ant Design 5
  • State Management: Zustand
  • Editor: Monaco Editor

Installation and Run

Prerequisites

  • Go 1.21+
  • Node.js 18+
  • Wails CLI: go install github.com/wailsapp/wails/v2/cmd/wails@v2.11.0

Development Mode

# Clone this fork
git clone https://github.com/FaaTang/PinkHunkDB.git
cd PinkHunkDB

# Start development with hot reload
wails dev

# Faster local startup when exported Go method signatures are unchanged
node tools/wails-fast-dev.mjs

# Refresh Wails JS bindings after changing exported Go method signatures
node tools/wails-fast-dev.mjs --refresh-bindings

# Windows PowerShell low-memory visual mode: disables transparent WebView/Acrylic backdrop
$env:GONAVI_LOW_MEMORY_MODE="1"; node tools/wails-fast-dev.mjs

Build

# Build for current platform
wails build

# Clean build (recommended before release)
wails build -clean

Artifacts are generated in build/bin.

Cross-Platform Release (GitHub Actions)

This fork includes its own release workflow. A Release build runs only when you push a v* tag on the configured branch (default: own). Syncing upstream does not publish automatically. The dev pre-release workflow is manual-only.

See .github/FORK_CI_VARIABLES.md for repository variables (RELEASE_BRANCH, BUILD_DRIVER_AGENTS, etc.).

git checkout own
git tag v0.6.5
git push origin own --tags

Release notes are generated automatically from merged pull requests and categorized by .github/release.yaml.

Target artifacts include:

  • macOS (AMD64 / ARM64)
  • Windows (AMD64)
  • Linux (AMD64, WebKitGTK 4.0 and 4.1 variants)

Troubleshooting

macOS: "App is damaged and can’t be opened"

Without Apple notarization, Gatekeeper may block startup.

  1. Move PinkHunkDB.app to Applications.
  2. Open Terminal.
  3. Run:
sudo xattr -rd com.apple.quarantine /Applications/PinkHunkDB.app

Or right-click the app in Finder and choose Open with Control key flow.

Linux: missing libwebkit2gtk / libjavascriptcoregtk

PinkHunkDB depends on WebKitGTK runtime libraries.

# Debian 13 / Ubuntu 24.04+
sudo apt-get update
sudo apt-get install -y libgtk-3-0 libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0

# Ubuntu 22.04 / Debian 12
sudo apt-get update
sudo apt-get install -y libgtk-3-0 libwebkit2gtk-4.0-37 libjavascriptcoregtk-4.0-18

If you use Linux artifacts with the -WebKit41 suffix, prefer Debian 13 / Ubuntu 24.04+.

Linux: Chinese text appears as square boxes

Minimal Ubuntu 24.04 LTS desktop/server environments may not include Chinese CJK fonts. Install Noto / WenQuanYi fonts and restart PinkHunkDB:

sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-wqy-microhei
fc-cache -fv

Contributing

This is a personal fork. Issues and pull requests are welcome, but there is no guarantee of review cadence or long-term maintenance.

For the upstream project's contribution workflow, see Syngnat/GoNavi and its contributing guides.

Local notes (may differ from upstream):

Star History

Star History Chart

Upstream project: Syngnat/GoNavi

Links

License

This fork is based on Syngnat/GoNavi and is distributed under the Apache-2.0 license.

  • Upstream copyright notices in source files remain with their original authors.
  • Custom changes in this fork are provided as-is, without warranty or a commitment to permanent maintenance.

About

现代化、原生体验的数据库管理工具,支持 MySQL、PostgreSQL、SQLite 等数据库,采用 Go 后端 + Wails + React 前端构建,启动快、体积小、性能强。

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages