Cross-platform client for PostgreSQL databases
Go to file
Dan Sosedoff 0dfec506cf
Improved Pg test matrix (#616)
* Add postgres 10/11 to test  matrix
* Add docker-compose file fo running multiple postgres versions locally
* Fix client test for pg 10, modify function details to include specific fields
* Try to install latest postgres client
* Add concurrency setting
2022-12-12 18:58:00 -06:00
.github/workflows Improved Pg test matrix (#616) 2022-12-12 18:58:00 -06:00
config Include example backend implementation for the connect feature 2022-12-01 16:31:02 -06:00
data Improved Pg test matrix (#616) 2022-12-12 18:58:00 -06:00
pkg Improved Pg test matrix (#616) 2022-12-12 18:58:00 -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 Configure client side query timeout (#610) 2022-12-08 15:07:40 -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 2022-07-05 21:13:08 -05: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 Add netcat install in dockerfile to provide a way to healthcheck in docker compose (#572) 2022-08-19 09:22:16 -05:00
Dockerfile Switch go build target to 1.19 (#603) 2022-12-06 18:34:08 -06:00
fly.toml Enable sessions on fly 2022-12-02 14:47:36 -06:00
go.mod Perform client version validation before executing pg_dump command (#614) 2022-12-12 15:09:12 -06:00
go.sum Perform client version validation before executing pg_dump command (#614) 2022-12-12 15:09:12 -06:00
LICENSE Bump license years 2022-01-08 14:52:05 -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 Update link to demo page 2022-12-02 14:45:07 -06:00
SCREENS.md Update screenshots 2016-01-10 16:08:13 -06:00

pgweb

Web-based PostgreSQL database browser written in Go.

Release Linux Build Windows Build Go Report Card GoDoc Docker Pulls

Overview

Pgweb is a web-based database browser for PostgreSQL, written in Go and works on OSX, Linux and Windows machines. Main idea behind using Go for backend development is to utilize ability of the compiler to produce zero-dependency binaries for multiple platforms. Pgweb was created as an attempt to build very simple and portable application to work with local or remote PostgreSQL databases.

See application screenshots

Features

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

Visit WIKI for more details

Pgweb Pro

Pgweb Pro is the next major version of Pgweb and includes features like:

  • Table structure editing
  • Data editing (update row content)
  • Charting
  • History persistence
  • Multiple tabs

Please get in touch via: https://goo.gl/forms/euQOGWg5uPdPH70b2

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:

SESSIONS=1 pgweb

Deploy on Heroku

Heroku Deploy

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.