2016-10-25 22:48:09 +02:00
# Awesome Postgres [![awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2015-11-06 18:27:11 +02:00
A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql
2015-08-02 09:32:43 +02:00
2016-10-25 23:14:19 +02:00
## Contents
- [High-Availability ](#high-availability )
- [Backups ](#backups )
- [GUI ](#gui )
- [Distributions ](#distributions )
- [CLI ](#cli )
- [Server ](#server )
- [Monitoring ](#monitoring )
- [Extensions ](#extensions )
- [Optimization ](#optimization )
- [Utilities ](#utilities )
- [Language bindings ](#language-bindings )
- [Tutorials ](#tutorials )
- [Blogs ](#blogs )
- [Articles ](#articles )
- [Newsletters ](#newsletters )
- [PaaS (Hosted Postgres) ](#paas )
2015-08-02 09:32:43 +02:00
2016-03-15 02:01:56 +02:00
### High-Availability
2016-02-17 12:41:29 +02:00
* [Patroni ](https://github.com/zalando/patroni ) - A template for PostgreSQL HA with ZooKeeper or etcd
2016-10-21 14:19:06 +02:00
* [Stolon ](https://github.com/sorintlab/stolon ) - PostgreSQL HA based on Consul or etcd, with Kubernetes integration
2016-09-07 22:26:19 +02:00
* [pglookout ](https://github.com/ohmu/pglookout ) - Replication monitoring and failover daemon
2016-05-19 15:50:00 +02:00
* [repmgr ](https://github.com/2ndQuadrant/repmgr ) - Is an open-source tool suite to manage replication and failover in a cluster of PostgreSQL servers
2016-05-22 12:30:11 +02:00
* [Slony-I ](http://slony.info ) - A "master to multiple slaves" replication system with cascading and failover
2016-02-18 19:13:01 +02:00
2015-08-02 09:32:43 +02:00
### Backups
2015-08-02 09:42:16 +02:00
* [Barman ](http://www.pgbarman.org/ ) - Backup and Recovery Manager for Postgres by 2ndQuadrant
2016-05-24 09:39:13 +02:00
* [OmniPITR ](https://github.com/omniti-labs/omnipitr ) - Advanced WAL File Management Tools for PostgreSQL
2016-05-24 09:54:58 +02:00
* [pgBackRest ](http://www.pgbackrest.org ) - Reliable PostgreSQL Backup & Restore
2016-09-07 22:25:54 +02:00
* [pghoard ](https://github.com/ohmu/pghoard ) - Backup and restore tool for cloud object stores (AWS S3, Azure, Google Cloud, OpenStack Swift)
2016-09-07 23:01:30 +02:00
* [wal-e ](https://github.com/wal-e/wal-e ) - Simple Continuous Archiving for Postgres to S3, Azure, or Swift by Heroku
2015-08-02 09:50:01 +02:00
### GUI
2016-05-23 11:41:21 +02:00
* [Adminer ](https://www.adminer.org/ ) – Full-featured database management tool written in PHP
2016-02-18 11:56:25 +02:00
* [DataGrip ](https://www.jetbrains.com/datagrip/ ) - An IDE with advanced tool sets and good cross-platform experience (Commercial Software)
2016-02-15 10:59:37 +02:00
* [Datazenit ](https://datazenit.com/ ) - Web-based PostgreSQL GUI (Commercial Software)
2016-02-16 15:06:33 +02:00
* [DBeaver ](http://dbeaver.jkiss.org ) - Universal Database Manager with excellent support for Postgres
2016-10-13 14:10:39 +02:00
* [dbglass ](http://dbglass.web-pal.com ) - Cross-platform desktop client for PostgreSQL, built with Electron.
2016-03-11 05:22:06 +02:00
* [JackDB ](https://www.jackdb.com/ ) - Web-based SQL query interface (Commercial Software)
2016-02-16 21:30:06 +02:00
* [Metabase ](http://www.metabase.com ) - Simple dashboards, charts and query tool for your Postgres DB
2016-05-22 12:37:33 +02:00
* [pgAdmin ](https://www.pgadmin.org/ ) - Postgres Administration and Management GUI
2016-02-16 10:34:45 +02:00
* [pgModeler ](http://pgmodeler.com.br/ ) - pgModeler is an open-source PostgreSQL Database Modeler
2015-08-02 10:20:52 +02:00
* [pgweb ](https://github.com/sosedoff/pgweb ) - Web-based PostgreSQL database browser written in Go
2016-02-16 10:34:45 +02:00
* [phpPgAdmin ](https://github.com/phppgadmin/phppgadmin ) - The Premier Web Based Administration Tool for Postgres
2016-09-03 01:06:25 +02:00
* [Postbird ](https://github.com/Paxa/postbird ) - PostgreSQL Client for macOS
* [Postico ](https://eggerapps.at/postico/ ) - A Modern PostgreSQL Client for macOS (Commercial Software)
2016-01-28 14:59:43 +02:00
* [PSequel ](http://www.psequel.com/ ) - PSequel provides a clean and simple interface for you to perform common PostgreSQL tasks quickly (Commercial Software)
2016-02-15 22:34:58 +02:00
* [SQL Tabs ](http://www.sqltabs.com/ ) - A Cross Platform Desktop Client for Postgres written in JS
2016-09-03 01:06:25 +02:00
* [SQLPro for Postgres ](http://macpostgresclient.com/ ) - A simple, powerful Postgres manager for macOS (Commercial Software)
* [Warp ](http://warp.one/ ) - macOS desktop tool for by-example querying and data transfer from/to PostgreSQL (Commercial Software)
2015-08-02 09:50:01 +02:00
### Distributions
2016-09-03 01:06:25 +02:00
* [Postgres.app ](http://postgresapp.com/ ) - The Easiest Way to Get Started with PostgreSQL on macOS
2015-08-02 10:20:52 +02:00
### CLI
* [pgcli ](https://github.com/dbcli/pgcli ) - Postgres CLI with autocompletion and syntax highlighting
2015-11-19 08:51:30 +02:00
* [psql2csv ](https://github.com/fphilipe/psql2csv ) - Run a query in psql and output the result as CSV
2015-08-02 10:22:17 +02:00
2015-08-02 10:24:20 +02:00
### Server
* [Postgres-XL ](http://www.postgres-xl.org/ ) - Scalable Open Source PostgreSQL-based Database Cluster
2016-09-07 23:04:21 +02:00
* [Citus ](https://github.com/citusdata/citus ) - Scalable PostgreSQL cluster for real-time workloads
2015-08-02 10:49:22 +02:00
2015-11-19 19:47:08 +02:00
### Monitoring
2016-09-13 18:50:11 +02:00
* [check\_pgactivity ](https://github.com/OPMDG/check_pgactivity ) - check\_pgactivity is designed to monitor PostgreSQL clusters from Nagios. It offers many options to measure and monitor useful performance metrics
2016-04-02 20:47:32 +02:00
* [Check\_postgres ](https://github.com/bucardo/check_postgres ) - Nagios check\_postgres plugin for checking status of PostgreSQL databases
2016-02-21 08:48:20 +02:00
* [libzbxpgsql ](https://github.com/cavaliercoder/libzbxpgsql ) - A comprehensive PostgreSQL monitoring module for Zabbix
2016-01-07 01:06:02 +02:00
* [Pome ](https://github.com/rach/pome ) - Pome stands for Postgres Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track of the health of your database
2016-04-02 20:47:32 +02:00
* [pg\_view ](https://github.com/zalando/pg_view ) - An open-source command-line tool that shows global system stats, per-partition information, memory stats and other information
2015-11-19 19:47:08 +02:00
2015-08-02 10:49:22 +02:00
### Extensions
2016-04-02 20:47:32 +02:00
* [cstore\_fdw ](https://github.com/citusdata/cstore_fdw ) - Columnar store for analytics with PostgreSQL
2016-09-07 23:01:30 +02:00
* [pglogical ](https://github.com/2ndQuadrant/pglogical ) - An extension that provides logical streaming replication
2016-04-02 20:47:32 +02:00
* [pg\_partman ](https://github.com/keithf4/pg_partman ) - Partition management extension for PostgreSQL
2016-09-07 23:01:30 +02:00
* [pg\_paxos ](https://github.com/citusdata/pg_paxos/ ) - Basic implementation of Paxos and Paxos-based table replication for a cluster of PostgreSQL nodes
* [pg\_shard ](https://github.com/citusdata/pg_shard ) - PostgreSQL extension to scale out real-time reads and writes
* [PGStrom ](https://wiki.postgresql.org/wiki/PGStrom ) - Postgres extension to offload CPU intensive workloads to GPU
2016-05-24 17:17:47 +02:00
* [plpgsql\_check ](https://github.com/okbob/plpgsql_check ) - An extension that allows to check plpgsql source code
2016-09-07 23:01:30 +02:00
* [PostGIS ](http://postgis.net/ ) - Spatial and Geographic objects for PostgreSQL
* [zomboDB ](https://github.com/zombodb/zombodb ) - Postgres extension that enables efficient full-text searching via the use of indexes backed by Elasticsearch
2016-10-31 19:18:00 +02:00
* [pgxn ](http://pgxn.org/ ) PostgreSQL Extension Network - central distribution point for many open-source PostgreSQL extensions
2015-08-02 11:20:16 +02:00
### Optimization
* [PgHero ](https://github.com/ankane/pghero ) - Postgres insights made easy
* [pgtune ](https://github.com/gregs1104/pgtune/ ) - PostgreSQL configuration wizard
2016-02-15 22:07:38 +02:00
* [pgtune ](http://pgtune.leopard.in.ua/ ) - Online version of PostgreSQL configuration wizard
2016-10-29 19:16:59 +02:00
* [pgconfig.org ](http://pgconfig.org/ ) - PostgreSQL Online Configuration Tool (also based on pgtune)
2016-09-13 18:32:04 +02:00
* [PoWA ](http://dalibo.github.io/powa/ ) - PostgreSQL Workload Analyzer gathers performance stats and provides real-time charts and graphs to help monitor and tune your PostgreSQL servers.
2015-08-02 11:20:16 +02:00
### Utilities
2016-09-07 23:01:30 +02:00
* [apgdiff ](http://www.apgdiff.com/ ) - Compares two database dump files and creates output with DDL statements that can be used to update old database schema to new one
* [ERAlchemy ](https://github.com/Alexis-benoist/eralchemy ) - ERAlchemy generates Entity Relation (ER) diagram from databases
2015-11-06 22:59:05 +02:00
* [mysql-postgresql-converter ](https://github.com/lanyrd/mysql-postgresql-converter ) - Lanyrd's MySQL to PostgreSQL conversion script
2016-09-07 23:01:30 +02:00
* [ora2pg ](http://ora2pg.darold.net ) - a Perl module to export an Oracle database schema to a PostgreSQL compatible schema
2016-04-02 20:47:32 +02:00
* [pg\_activity ](https://github.com/julmon/pg_activity ) - pg\_activity is a top like application for PostgreSQL server activity monitoring
2015-11-24 17:11:55 +02:00
* [pganalyze ](https://pganalyze.com ) - PostgreSQL Performance Monitoring (Commercial Software)
2016-09-07 23:01:30 +02:00
* [pgbadger ](https://github.com/dalibo/pgbadger ) - a fast PostgreSQL Log Analyzer
2016-02-15 21:51:19 +02:00
* [PgBouncer ](http://pgbouncer.github.io ) - Lightweight connection pooler for PostgreSQL
2016-09-07 23:01:30 +02:00
* [pgCenter ](https://github.com/lesovsky/pgcenter ) - Provides convenient interface to various statistics, management task, reloading services, viewing log files and canceling or terminating database backends
* [pgclimb ](https://github.com/lukasmartinelli/pgclimb ) - Export data from PostgreSQL into different data formats
* [pgfutter ](https://github.com/lukasmartinelli/pgfutter ) - Import CSV and JSON into PostgreSQL the easy way
2016-05-19 15:50:00 +02:00
* [PGInsight ](http://pginsight.io/ ) - CLI tool to easily dig deep inside your Postgresql database
2016-09-07 23:01:30 +02:00
* [pgloader ](https://github.com/dimitri/pgloader ) - Pgloader loads data into PostgreSQL using the COPY streaming protocol, and does so with separate threads for reading and writing data
2016-05-08 11:30:02 +02:00
* [pgpool-II ](http://www.pgpool.net/mediawiki/index.php/Main_Page ) - Middleware that provides connection pooling, replication, load balancing and limiting exceeding connections
2016-09-07 23:01:30 +02:00
* [pgsync ](https://github.com/ankane/pgsync ) - A tool to sync Postgres data to your local machine
* [PGXN client ](https://github.com/dvarrazzo/pgxnclient ) - A command line tool to interact with the PostgreSQL Extension Network
* [postgresql-metrics ](https://github.com/spotify/postgresql-metrics ) - Tool that extracts and provides metrics on your PostgreSQL database
* [PostgREST ](https://github.com/begriffs/postgrest ) - PostgREST serves a fully RESTful API from any existing PostgreSQL database
* [yoke ](https://github.com/nanopack/yoke ) - Postgres high-availability cluster with auto-failover and automated cluster recovery
2015-11-06 18:34:33 +02:00
2015-11-19 02:41:39 +02:00
### Language bindings
2016-09-07 23:01:30 +02:00
* Common Lisp: [Postmodern ](https://github.com/marijnh/Postmodern )
* Elixir: [postgrex ](https://github.com/elixir-ecto/postgrex )
2016-02-15 21:26:08 +02:00
* Go: [pgx ](https://github.com/jackc/pgx )
2016-01-31 07:48:11 +02:00
* Java: [PostgreSQL JDBC Driver ](https://jdbc.postgresql.org/ )
* Node: [node-postgres ](https://github.com/brianc/node-postgres )
2016-09-07 23:01:30 +02:00
* Perl: [DBD-Pg ](http://search.cpan.org/~turnstep/DBD-Pg/Pg.pm )
2016-02-15 22:42:45 +02:00
* PHP: [Pomm ](http://www.pomm-project.org ), [pecl/pq ](https://github.com/m6w6/ext-pq )
2016-02-15 18:59:33 +02:00
* Python: [psycopg2 ](https://pypi.python.org/pypi/psycopg2 )
2016-03-10 14:56:47 +02:00
* Ruby: [pg ](https://bitbucket.org/ged/ruby-pg/wiki/Home )
2016-09-07 23:01:30 +02:00
* Rust: [rust-postgresql ](https://github.com/sfackler/rust-postgres )
2015-11-19 02:41:39 +02:00
2015-11-06 18:34:33 +02:00
### Tutorials
2015-11-19 15:25:25 +02:00
* [Backup and recover a Postgres DB using wal-e ](https://coderwall.com/p/cwe2_a/backup-and-recover-a-postgres-db-using-wal-e ) - A tutorial about setting up continuous archiving in PostgreSQL using wal-e
2016-06-16 18:05:22 +02:00
* [PG Casts ](https://www.pgcasts.com ) - Free weekly PostgreSQL screencasts by Hashrocket
2016-09-07 23:01:30 +02:00
* [Postgres Guide ](http://postgresguide.com/ ) - A guide designed as an aid for beginners and experienced users to find specific tips and explore tools available within Postgres
* [PostgreSQL Exercises ](https://pgexercises.com/ ) - A site to make it easy to learn PostgreSQL by doing
* [tutorialspoint PostgreSQL tutorial ](http://www.tutorialspoint.com/postgresql/ ) - A very extensive collection of tutorials on PostgreSQL
2015-11-12 17:22:58 +02:00
2015-11-12 17:33:42 +02:00
### Blogs
2016-02-17 16:38:52 +02:00
* [Planet PostgreSQL ](http://planet.postgresql.org/ ) - A blog aggregation service for PostgreSQL
2016-09-07 23:01:30 +02:00
* [Andrew Dunstan's PostgreSQL and Technical blog ](http://adpgtech.blogspot.ru/search/label/PostgreSQL/ )
2016-03-25 20:37:12 +02:00
* [Bruce Momjian's Postgres blog ](http://momjian.us/main/blogs/pgblog.html )
2016-09-07 23:01:30 +02:00
* [Craig Kerstiens Postgres Posts ](http://www.craigkerstiens.com/categories/postgres/ ) - A set of posts on Postgres cool features/tips/tricks
2016-03-28 20:44:00 +02:00
* [Database Soup ](http://www.databasesoup.com/search/label/postgresql/ ) - Josh Berkus' blog
2016-09-07 23:01:30 +02:00
* [Michael Paquier's blog ](http://paquier.xyz/ )
* [Robert Haas' blog ](http://rhaas.blogspot.ru/search/label/postgresql/ )
* [select * from depesz; ](https://www.depesz.com/tag/postgresql/ ) - Hubert Lubaczewski's blog
2015-11-12 16:54:12 +02:00
2016-02-27 14:13:39 +02:00
### Articles
2016-07-19 21:15:06 +02:00
* [What PostgreSQL has over other open source SQL databases: Part I ](https://www.compose.com/articles/what-postgresql-has-over-other-open-source-sql-databases/ )
2016-10-06 11:10:21 +02:00
* [Debugging PostgreSQL performance, the hard way ](https://www.justwatch.com/blog/post/debugging-postgresql-performance-the-hard-way/ )
2016-02-27 14:13:39 +02:00
2015-11-12 16:54:12 +02:00
### Newsletters
2016-02-17 16:38:52 +02:00
* [Postgres Weekly ](http://postgresweekly.com/ ) - A weekly newsletter that contains articles, news, and repos relevant to Postgres
2016-02-02 07:37:01 +02:00
### PaaS
*(Postgres as a Service)*
2016-09-08 09:37:34 +02:00
* [Aiven PostgreSQL ](https://aiven.io/postgresql ) - PostgreSQL as a service in AWS, Azure, DigitalOcean, Google Cloud and UpCloud; plans range from $19/month single node instances to large highly-available setups, free trial for two weeks
2016-05-19 15:50:00 +02:00
* [Database Labs ](https://www.databaselabs.io ) - Get a production-ready cloud Postgres server in minutes, from $20 a month Backups, monitoring, patches, and 24/7 tech support all included
2016-10-26 11:00:52 +02:00
* [ElephantSQL ](https://www.elephantsql.com/ ) - Offers databases ranging from shared servers for smaller projects and proof of concepts, up to enterprise grade multi server setups. Has free plan for up to 5 DBs, 20 MB each
2016-05-19 15:50:00 +02:00
* [Heroku Postgres ](https://elements.heroku.com/addons/heroku-postgresql ) - Plans from free to huge, operated by Postgres experts. Does not require running your app on Heroku. Free plan includes 10,000 rows, 20 connections, up to two backups, and has PostGIS support