Cross-platform client for PostgreSQL databases
Go to file
2023-02-28 11:57:36 -06:00
.github/workflows Move gitconfig step into dockerfile build section 2023-02-15 16:59:39 -06:00
config Bump rack from 2.2.4 to 2.2.6.2 in /config/examples/connect_backend_ruby (#637) 2023-01-18 20:09:55 -06:00
data Local queries (#641) 2023-02-02 16:13:14 -06:00
pkg Fix typo in the healthy metric (#657) 2023-02-28 11:57:36 -06: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 Fetch local queries on db connect (#650) 2023-02-17 12:26:37 -06: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 .idea to gitignore 2019-11-16 11:52:15 -06:00
app.json Merge pull request #90 from freeformz/patch-2 2015-07-14 21:19:55 -05:00
CHANGELOG.md Update changelog 2023-02-21 11:49:04 -06:00
CONTRIBUTING.md Specify how to run all tests 2017-06-05 21:30:53 -05:00
docker-compose-pg.yml Improved Pg test matrix (#616) 2022-12-12 18:58:00 -06:00
docker-compose.yml Replace DATABASE_URL with PGWEB_DATABASE_URL (#642) 2023-02-02 12:48:42 -06:00
Dockerfile Use entrypoint instead of cmd in order to facilitate argument passing (#654) 2023-02-27 13:14:05 -06:00
fly.toml Configure fly metrics 2022-12-25 15:06:26 -06:00
go.mod Setup basic prom metrics endpoint (#624) 2022-12-20 10:13:42 -06:00
go.sum Setup basic prom metrics endpoint (#624) 2022-12-20 10:13:42 -06:00
LICENSE Update license years 2023-01-17 17:28:45 -06:00
main.go Move all CLI logic into its own package 2017-05-16 21:28:07 -05:00
Makefile Add support for user functions (#608) 2022-12-07 11:58:07 -06:00
Procfile Bind to 0.0.0.0 in Procfile 2014-11-05 22:15:05 -06:00
README.md README update 2023-02-15 22:04:37 -06: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.