{"id":35419446,"url":"https://github.com/thelinuxer/pgvoyager","last_synced_at":"2026-04-20T13:13:06.419Z","repository":{"id":331329236,"uuid":"1125532370","full_name":"thelinuxer/pgvoyager","owner":"thelinuxer","description":"A modern PostgreSQL database explorer with schema browser, SQL editor, ERD visualization, and embedded Claude Code terminal for AI-assisted database operations","archived":false,"fork":false,"pushed_at":"2026-04-19T18:35:35.000Z","size":6240,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-19T20:27:59.157Z","etag":null,"topics":["claude","database","database-client","database-management","erd","go","golang","mcp","postgres","postgresql","sql","svelte"],"latest_commit_sha":null,"homepage":null,"language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thelinuxer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-30T22:39:59.000Z","updated_at":"2026-04-19T18:28:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thelinuxer/pgvoyager","commit_stats":null,"previous_names":["thelinuxer/pgvoyager"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/thelinuxer/pgvoyager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelinuxer%2Fpgvoyager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelinuxer%2Fpgvoyager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelinuxer%2Fpgvoyager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelinuxer%2Fpgvoyager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thelinuxer","download_url":"https://codeload.github.com/thelinuxer/pgvoyager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelinuxer%2Fpgvoyager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32048528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","database","database-client","database-management","erd","go","golang","mcp","postgres","postgresql","sql","svelte"],"created_at":"2026-01-02T16:03:22.237Z","updated_at":"2026-04-20T13:13:06.413Z","avatar_url":"https://github.com/thelinuxer.png","language":"Svelte","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"frontend/static/logo.svg\" alt=\"PgVoyager\" width=\"120\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003ePgVoyager\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eA modern PostgreSQL database explorer with schema browser, SQL editor, ERD visualization, and embedded Claude Code terminal\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/thelinuxer/pgvoyager/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/thelinuxer/pgvoyager?style=flat-square\u0026color=blue\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/thelinuxer/pgvoyager/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/thelinuxer/pgvoyager?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/thelinuxer/pgvoyager/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/thelinuxer/pgvoyager/e2e-tests.yml?style=flat-square\u0026label=tests\" alt=\"Tests\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Go-1.24+-00ADD8?style=flat-square\u0026logo=go\" alt=\"Go\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Svelte-5-FF3E00?style=flat-square\u0026logo=svelte\" alt=\"Svelte\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PostgreSQL-4169E1?style=flat-square\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n  \u003ca href=\"#mcp-integration\"\u003eMCP Integration\u003c/a\u003e •\n  \u003ca href=\"#development\"\u003eDevelopment\u003c/a\u003e •\n  \u003ca href=\"https://github.com/thelinuxer/pgvoyager/releases\"\u003eReleases\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/hero.png\" alt=\"PgVoyager Screenshot\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## Features\n\nPgVoyager is a modern PostgreSQL client that combines schema exploration, SQL editing, and AI assistance in one sleek interface.\n\n### Schema Browser\n\nBrowse your database structure with ease. Explore schemas, tables, views, functions, sequences, and custom types. See column details, constraints, indexes, and foreign key relationships at a glance.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/schema-browser.png\" alt=\"Schema Browser\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### SQL Query Editor\n\nWrite and execute SQL with a full-featured editor powered by CodeMirror. Features include syntax highlighting, autocomplete, error highlighting, and query history tracking.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/query-editor.png\" alt=\"Query Editor\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### Foreign Key Preview\n\nHover over any foreign key value to instantly see the referenced record. No more jumping between tables to understand relationships.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/fk-preview.png\" alt=\"Foreign Key Preview\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### ERD Visualization\n\nVisualize your database relationships with interactive Entity Relationship Diagrams. Right-click any table to see its direct relationships in a centered view, or view the entire schema at once. Click nodes to navigate between tables, double-click to open them, and export diagrams as PNG, SVG, JSON, or SQL DDL.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/erd-schema.png\" alt=\"Full Schema ERD\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/erd-table.png\" alt=\"Table-Centered ERD\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### Database Analysis\n\nAnalyze your database health with a single click. PgVoyager identifies potential issues like missing indexes on foreign keys, unused indexes, table bloat, missing primary keys, and more. Each issue includes a severity level, description, and a suggested SQL fix you can copy with one click.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/analysis.png\" alt=\"Database Analysis\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### Claude Code Terminal\n\nThe star of the show. An embedded Claude Code terminal with MCP integration that can explore your database schema, write SQL queries directly into the editor, execute queries and analyze results, and help you understand your data.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/claude-terminal.png\" alt=\"Claude Terminal\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n### Connection Management\n\nEasily manage your database connections. Click the edit icon next to any connection to modify settings or delete connections you no longer need - even if they can't connect.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/connection-dropdown.png\" alt=\"Connection Dropdown\" width=\"50%\"\u003e\n  \u003cimg src=\"docs/screenshots/edit-connection.png\" alt=\"Edit Connection\" width=\"50%\"\u003e\n\u003c/p\u003e\n\n### Server-level Connections \u0026 Database Management\n\nA connection targets a PostgreSQL server, not a single database. The database field in the connection form is optional — leave it blank and PgVoyager connects to the server's maintenance database so you can browse everything on the server.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/connection-modal-optional-db.png\" alt=\"Connection modal with optional default database\" width=\"70%\"\u003e\n\u003c/p\u003e\n\nA **Databases** panel sits at the top of the sidebar, listing every database available to your user. Click to switch, right-click (or the kebab menu) for context actions. Use the `+` button in the section header to create a new database, or **Drop database…** from the context menu to delete one — if you drop the database you're currently connected to, PgVoyager automatically switches to `postgres` first.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/database-panel.png\" alt=\"Databases panel in the sidebar\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/create-database-modal.png\" alt=\"Create Database modal\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## Installation\n\n### Prerequisites\n\n- **Claude Code CLI** - For the embedded AI assistant (`npm install -g @anthropic-ai/claude-code` or see [Claude Code docs](https://docs.anthropic.com/en/docs/claude-code))\n- **PostgreSQL** - A database to connect to\n\n### Download\n\nDownload the latest release for your platform from [GitHub Releases](https://github.com/thelinuxer/pgvoyager/releases).\n\n#### Linux\n\n```bash\ncurl -L https://github.com/thelinuxer/pgvoyager/releases/latest/download/pgvoyager-linux-amd64.tar.gz | tar xz\ncd pgvoyager-linux-amd64\n./install.sh\n```\n\n#### Windows\n\nDownload `pgvoyager-windows-amd64.zip`, extract, and run `install.ps1`.\n\n#### macOS\n\n```bash\ncurl -L https://github.com/thelinuxer/pgvoyager/releases/latest/download/pgvoyager-darwin-arm64 -o pgvoyager\nchmod +x pgvoyager\nPGVOYAGER_MODE=production ./pgvoyager\n```\n\nThen open `http://localhost:5137` in your browser.\n\n## Getting Started\n\n1. Launch PgVoyager and open `http://localhost:5137`\n2. Click \"New Connection\" and enter your PostgreSQL credentials\n3. Browse your schemas in the left sidebar\n4. Open a query tab and write some SQL\n5. Click the Claude icon to open the AI assistant\n\n## Development\n\n### Building from Source\n\n**Prerequisites:** Go 1.24+, Node.js 20+\n\n```bash\ngit clone https://github.com/thelinuxer/pgvoyager.git\ncd pgvoyager\nmake install\nmake build-prod\nPGVOYAGER_MODE=production ./bin/pgvoyager\n```\n\n### Development Mode\n\n```bash\nmake dev\n```\n\nStarts backend on `http://localhost:5137` and frontend on `http://localhost:5173`.\n\n## MCP Integration\n\nPgVoyager includes a Model Context Protocol (MCP) server that enables Claude to interact directly with your database. The MCP server is automatically configured when you open the Claude terminal.\n\n### Available Tools\n\nClaude can use these tools to help you work with your database:\n\n| Tool | Description |\n|------|-------------|\n| `get_connection_info` | Current database connection details |\n| `list_schemas` | All schemas in the database |\n| `list_tables` | Tables (optionally filtered by schema) |\n| `get_columns` | Column details for a table |\n| `get_table_info` | Table size, row count, etc. |\n| `execute_query` | Run arbitrary SQL |\n| `list_views` | Database views |\n| `list_functions` | Database functions |\n| `get_foreign_keys` | Foreign key relationships |\n| `get_indexes` | Index information |\n| `get_editor_content` | Read SQL from the query editor |\n| `insert_to_editor` | Insert text into the editor |\n| `replace_editor_content` | Replace editor content |\n\n### Example Prompts\n\n- \"Show me all tables in the public schema\"\n- \"Write a query to find users who haven't logged in for 30 days\"\n- \"Analyze the orders table and suggest indexes\"\n- \"Help me understand the relationship between users and orders\"\n\n## Architecture\n\nPgVoyager is built with **Go** for the backend and **Svelte** for the frontend:\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│                              Browser                                    │\n│  ┌──────────────────────────────────────────────────────────────────┐   │\n│  │                    Frontend (SvelteKit + Svelte 5)               │   │\n│  │  • Schema Browser    • SQL Editor (CodeMirror)                   │   │\n│  │  • ERD Viewer        • Terminal (xterm.js)                       │   │\n│  └──────────────────────────────────────────────────────────────────┘   │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    │\n                          HTTP / WebSocket\n                                    │\n┌─────────────────────────────────────────────────────────────────────────┐\n│                         Backend (Go + Gin)                              │\n│  • Connection Management    • Query Execution                           │\n│  • Schema Introspection     • Claude Session Manager (PTY)              │\n│  • Query History            • Static File Server                        │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    │\n                          MCP Protocol\n                                    │\n┌─────────────────────────────────────────────────────────────────────────┐\n│                      MCP Server (Go binary)                             │\n│  • Database Tools           • Editor Integration                        │\n│  • Schema Discovery         • Query Execution                           │\n└─────────────────────────────────────────────────────────────────────────┘\n\n```\n\n### Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| **Backend** | Go 1.24+, Gin web framework, lib/pq PostgreSQL driver |\n| **Frontend** | SvelteKit 2, Svelte 5, TypeScript, CodeMirror 6, xterm.js |\n| **Database** | PostgreSQL (any version), SQLite (for local storage) |\n| **AI Integration** | Claude Code CLI, Model Context Protocol (MCP) |\n\n## Troubleshooting\n\n### Claude terminal not working\n\nMake sure Claude Code CLI is installed and in your PATH:\n```bash\nnpm install -g @anthropic-ai/claude-code\nclaude --version\n```\n\n### Connection issues\n\nCheck that your PostgreSQL server is running and accessible. SSL is enabled by default; you can disable it in the connection settings.\n\n### Port already in use\n\nPgVoyager runs on port 5137 by default. If it's in use, set the `PGVOYAGER_PORT` environment variable:\n\n```bash\nPGVOYAGER_PORT=5200 ./pgvoyager\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with [Claude Code](https://claude.ai) - Anthropic's AI coding assistant\n- [Gin](https://gin-gonic.com/) - Go web framework\n- [SvelteKit](https://kit.svelte.dev/) - Web application framework\n- [CodeMirror](https://codemirror.net/) - Code editor component\n- [xterm.js](https://xtermjs.org/) - Terminal emulator\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthelinuxer%2Fpgvoyager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthelinuxer%2Fpgvoyager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthelinuxer%2Fpgvoyager/lists"}