Fork-derived pgweb custom maintenance repo
  • Go 54.7%
  • JavaScript 17.8%
  • PLpgSQL 13.9%
  • HTML 5%
  • CSS 4.8%
  • Other 3.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dan Sosedoff ee2e54bfcf
Some checks failed
checks / tests (push) Failing after 29s
checks / tests-1 (push) Failing after 7s
checks / tests-2 (push) Failing after 8s
checks / tests-3 (push) Failing after 9s
checks / tests-4 (push) Failing after 9s
checks / tests-5 (push) Failing after 8s
checks / tests-6 (push) Failing after 8s
checks / tests-7 (push) Failing after 9s
checks / tests-8 (push) Failing after 8s
checks / tests-9 (push) Failing after 7s
checks / lint (push) Successful in 10m24s
checks / fmt (push) Successful in 19s
demo deploy / Deploy to Fly (push) Failing after 1s
docker / docker images (push) Failing after 1m46s
checks / tests-windows (push) Has been cancelled
Add explicit parentheses in SSHInfoIsEmpty (#841)
* Add explicit parentheses in SSHInfoIsEmpty for clarity

The condition relied on implicit operator precedence (&&
binding tighter than ||) which made the intent unclear and
fragile to future modifications.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add tests for partial SSH config in SSHInfoIsEmpty

Cover edge cases where only one SSH field (host, port, or user)
is set, ensuring the method correctly returns false.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:13:04 -08:00
.claude Add claude configuration file (#838) 2026-01-31 19:34:12 -08:00
.github/workflows build with go v1.25 (#814) 2025-12-30 09:01:12 -08:00
config Bump rack from 3.1.16 to 3.1.20 in /config/examples/connect_backend_ruby (#840) 2026-03-01 10:27:19 -08:00
data Add extra test for verifiying ssh connection options (#817) 2025-11-11 11:55:42 -08:00
pkg Add explicit parentheses in SSHInfoIsEmpty (#841) 2026-03-01 11:13:04 -08:00
screenshots Update screenshots 2016-01-10 16:08:13 -06:00
script Replace gox with a bash build script (#571) 2022-07-26 20:17:40 -05:00
static Add server settings view (#768) 2024-12-15 14:46:01 -08:00
.dockerignore Docker build refactor (#568) 2022-06-27 22:31:57 -05:00
.gitattributes Do not show bindata.go in the git diff log 2016-01-08 15:34:02 -06:00
.gitignore Add env and envrc into gitignore 2023-06-17 12:01:21 -05:00
.golangci.yml build with go v1.25 (#814) 2025-12-30 09:01:12 -08:00
CHANGELOG.md Add PGWEB_BOOKMARKS_DIR environment variable (#837) 2026-01-31 19:36:57 -08:00
CONTRIBUTING.md Fix typos (#764) 2024-11-17 22:08:29 -08:00
docker-compose-pg.yml Add PostgreSQL 18 support to Github Actions (#816) 2025-11-11 11:30:42 -08:00
docker-compose.yml Remove obsolete reference from docker compose file 2025-11-22 07:19:34 -08:00
Dockerfile build with go v1.25 (#814) 2025-12-30 09:01:12 -08:00
fly.toml Change demo env idle timeout to 30 mins 2023-04-04 15:43:30 -05:00
go.mod Update gin to v1.11 (#831) 2025-12-30 11:04:35 -08:00
go.sum Update gin to v1.11 (#831) 2025-12-30 11:04:35 -08:00
LICENSE License years 2024-01-04 23:34:40 -06:00
main.go Move all CLI logic into its own package 2017-05-16 21:28:07 -05:00
Makefile Shorten git revision printed in the --version output (#770) 2024-12-20 21:30:37 -08:00
Procfile Bind to 0.0.0.0 in Procfile 2014-11-05 22:15:05 -06:00
README.md Update references from master branch to main branch (#750) 2024-09-08 08:17:18 -07:00
SCREENS.md Update screenshots 2016-01-10 16:08:13 -06:00

pgweb

Simple web-based and cross platform PostgreSQL database explorer.

Release Linux Build Go Report Card GoDoc Docker Pulls

Overview

Pgweb is a web-based database explorer for PostgreSQL, written in Go, and works on Mac, Linux and Windows machines. Distributed as a simple binary with zero dependencies. Very easy to use and packs just the right amount of features.

See application screenshots

Features

  • Cross-platform: Mac/Linux/Windows (64bit).
  • Simple installation (distributed as a single binary).
  • Zero dependencies.
  • Works with PostgreSQL 9.1+.
  • Supports native SSH tunnels.
  • Multiple database sessions.
  • Execute and analyze custom SQL queries.
  • Table and query data export to CSV/JSON/XML.
  • Query history.
  • Server bookmarks.

Visit WIKI for more details.

Demo

Visit https://pgweb-demo.fly.dev/ to see Pgweb in action.

Installation

Usage

Start server:

pgweb

You can also provide connection flags:

pgweb --host localhost --user myuser --db mydb

Connection URL scheme is also supported:

pgweb --url postgres://user:password@host:port/database?sslmode=[mode]
pgweb --url "postgres:///database?host=/absolute/path/to/unix/socket/dir"

Multiple database sessions

To enable multiple database sessions in pgweb, start the server with:

pgweb --sessions

Or set environment variable:

PGWEB_SESSIONS=1 pgweb

Testing

Before running tests, make sure you have PostgreSQL server running on localhost:5432 interface. Also, you must have postgres user that could create new databases in your local environment. Pgweb server should not be running at the same time.

Execute test suite:

make test

If you're using Docker locally, you might also run pgweb test suite against all supported PostgreSQL version with a single command:

make test-all

Contribute

  • Fork this repository
  • Create a new feature branch for a new functionality or bugfix
  • Commit your changes
  • Execute test suite
  • Push your code and open a new pull request
  • Use issues for any questions
  • Check wiki for extra documentation

License

The MIT License (MIT). See LICENSE file for more details.