A self-hosted TablePlus alternative for PostgreSQL teams
pg-view gives your team browser access to PostgreSQL without desktop installs or per-seat licenses. Deploy with Docker and share a single internal URL.
Why teams switch from TablePlus
TablePlus is great on a single machine. pg-view is built for shared team access in the browser.
No desktop app to install on every laptop — works in any modern browser.
Self-hosted with Docker: your data stays on your infrastructure, no vendor lock-in.
Global read-only mode and destructive SQL confirmations for safer shared access.
MIT licensed and free to deploy without per-seat or subscription costs.
pg-view vs TablePlus
Both are focused PostgreSQL clients. pg-view wins on self-hosted team access and deployment simplicity.
| Feature | pg-view | TablePlus |
|---|---|---|
| Self-hosted, no per-seat license | ||
| Native web — no desktop install | ||
| SQL editor with history and favorites | ||
| Global read-only mode | ||
| Destructive SQL confirmation | ||
| One-command Docker deploy |
Everything essential for working with PostgreSQL
Exploration, editing, and SQL in one coherent interface. No features you'll never use.
Schema explorer
Navigable tree with search, row estimates, and restoration of the last visited table.
Data viewer and editor
Paginated table with filters, sorting, and a side panel to view, edit, and insert rows.
Table structure
Columns, types, primary keys, indexes, and constraints visible at a glance.
Built-in SQL editor
History, favorites, auto-save draft, and confirmation for destructive operations.
Connection management
Saved connections with environment labels, URL import, and volume persistence.
User experience
Light and dark theme, resizable sidebar, and responsive design with Nuxt UI.
Built-in security and control
Panel authentication, global read-only mode, SQL guardrails, and configurable row limits and timeouts.
Deploy in 30 seconds
Optimized multi-stage Docker image. Internal port 3000, expose whatever you need.
services:
pg-view:
image: lcurrol/pg-view
ports:
- '8080:3000'
# environment:
# PGVIEW_USERNAME: admin
# PGVIEW_PASSWORD: 123456
# PGVIEW_SESSION_SECRET: random-secret-key
# DB_URL: postgresql://user:pass@host:5432/db
volumes:
- ./pg-view:/app/.data
restart: unless-stoppedPersistence
Mount a volume at /app/.data to keep connections and SQL history.
Read-only mode
Set PGVIEW_READ_ONLY=true to block writes.
TablePlus alternative FAQ
Ready to explore your data?
Free, open source, and ready to deploy on your infrastructure. No licenses, no vendor lock-in.