List.community

Awesome Postgres awesome

A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql

PostgreSQL, often simply Postgres, is an object-relational database (ORDBMS). PostgreSQL is ACID-compliant and transactional. (see more: wikipedia:PostgreSQL, PostgreSQL.org)

🐘 Contributions welcome. Add links through pull requests or create an issue to start a discussion. Please take a look at the contribution guidelines.

Contents

High-Availability

  • BDR218 36 - BiDirectional Replication - a multimaster replication system for PostgreSQL
  • Patroni2k 157 - Template for PostgreSQL HA with ZooKeeper or etcd.
  • Stolon2k 165 - PostgreSQL HA based on Consul or etcd, with Kubernetes integration.
  • pglookout68 6 - Replication monitoring and failover daemon.
  • repmgr919 212 - Open-source tool suite to manage replication and failover in a cluster of PostgreSQL servers.
  • Slony-I - "Master to multiple slaves" replication system with cascading and failover.
  • PAF87 23 - PostgreSQL Automatic Failover: High-Availibility for Postgres, based on Pacemaker and Corosync.
  • SkyTools - Replication tools, including PgQ, a queuing system, and Londiste, a replication system a bit simpler to manage than Slony.

Backups

  • Barman - Backup and Recovery Manager for PostgreSQL by 2ndQuadrant.
  • OmniPITR145 31 - Advanced WAL File Management Tools for PostgreSQL.
  • pg_probackup68 9 – A fork of pg_arman, improved by @PostgresPro, supports incremental backups, backups from replica, multithreaded backup and restore, and anonymous backup without archive command.
  • pgBackRest - Reliable PostgreSQL Backup & Restore.
  • pg_back34 15 - pg_back is a simple backup script
  • pghoard401 30 - Backup and restore tool for cloud object stores (AWS S3, Azure, Google Cloud, OpenStack Swift).
  • wal-e2k 245 - Simple Continuous Archiving for PostgreSQL to S3, Azure, or Swift by Heroku.
  • pitrery - pitrery is a set of Bash scripts to manage Point In Time Recovery (PITR) backups for PostgreSQL.

GUI

  • Adminer - Full-featured database management tool written in PHP.
  • OmniDB - Open Source Collaborative Environment For Database Management
  • DataGrip - IDE with advanced tool sets and good cross-platform experience (Commercial Software).
  • Datazenit - Web-based PostgreSQL GUI (Commercial Software).
  • DBeaver - Universal Database Manager with excellent support for PostgreSQL.
  • dbglass - Cross-platform desktop client for PostgreSQL, built with Electron.
  • Holistics - Online cross platform database management tool and SQL query reporting GUI with strong PostgreSQL support (Commercial Software).
  • JackDB - Web-based SQL query interface (Commercial Software).
  • Metabase - Simple dashboards, charts and query tool for PostgreSQL.
  • pgAdmin - PostgreSQL Administration and Management GUI.
  • pgModeler - pgModeler is an open-source PostgreSQL Database Modeler.
  • pgweb5k 406 - Web-based PostgreSQL database browser written in Go.
  • phpPgAdmin259 147 - The Premier Web Based Administration Tool for PostgreSQL.
  • Postbird179 23 - PostgreSQL Client for macOS.
  • Postico - Modern PostgreSQL Client for macOS (Commercial Software).
  • PSequel - Clean and simple interface to perform common PostgreSQL tasks quickly (Commercial Software).
  • SQL Tabs - Cross Platform Desktop Client for PostgreSQL written in JS.
  • SQLPro for Postgres - Simple, powerful PostgreSQL manager for macOS (Commercial Software).
  • temBoard60 17 - Web-based PostgreSQL GUI and monitoring.
  • Warp - macOS desktop tool for by-example querying and data transfer from/to PostgreSQL (Commercial Software).
  • TablePlus - Native App which let you edit database and structure. High-end security ensured (Commercial Software).
  • Valentina Studio - Cross-platform database administration tool (Free/Commercial)

Distributions

  • Postgres.app - The Easiest Way to Get Started with PostgreSQL on macOS.
  • PostgreSql.Binaries.Lite8 1 - Minimum set of Windows binaries of the PostgreSQL database. Also made available through NuGet.

CLI

  • pgcli5k 281 - Postgres CLI with autocompletion and syntax highlighting
  • psql - The built-in PostgreSQL CLI client
  • psql2csv84 15 - Run a query in psql and output the result as CSV

Server

  • Postgres-XL - Scalable Open Source PostgreSQL-based Database Cluster.
  • Citus3k 192 - Scalable PostgreSQL cluster for real-time workloads.
  • PipelineDB - Open source streaming SQL database, fork of postgres

Monitoring

  • check_pgactivity47 31 - check_pgactivity is designed to monitor PostgreSQL clusters from Nagios. It offers many options to measure and monitor useful performance metrics.
  • Check_postgres271 108 - Nagios check_postgres plugin for checking status of PostgreSQL databases.
  • Instrumental4 1 - Real-time performance monitoring, including pre-made graphs for ease of setup (Commercial Software)
  • libzbxpgsql73 30 - Comprehensive PostgreSQL monitoring module for Zabbix.
  • Pome1k 50 - Pome stands for PostgreSQL Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track of the health of your database.
  • pg_view283 32 - Open-source command-line tool that shows global system stats, per-partition information, memory stats and other information.
  • pgwatch2147 34 - Flexible and easy to get started PostgreSQL metrics monitor focusing on Grafana dashboards.
  • pgbench - Run a benchmark test on PostgreSQL.
  • opm.io - Open PostgreSQL Monitoring is a free software suite designed to help you manage your PostgreSQL servers. It can gather stats, display dashboards and send warnings when something goes wrong.

Extensions

  • cstore_fdw916 98 - Columnar store for analytics with PostgreSQL.
  • cyanaudit - Cyan Audit provides in-database logging of all DML activity on a column-by-column basis.
  • pglogical184 37 - Extension that provides logical streaming replication.
  • pg_partman568 105 - Partition management extension for PostgreSQL.
  • pg_paxos257 20 - Basic implementation of Paxos and Paxos-based table replication for a cluster of PostgreSQL nodes.
  • pg_shard1k 72 - Extension to scale out real-time reads and writes.
  • PGStrom - Extension to offload CPU intensive workloads to GPU.
  • pgxn PostgreSQL Extension Network - central distribution point for many open-source PostgreSQL extensions
  • plpgsql_check73 9 - Extension that allows to check plpgsql source code.
  • PostGIS - Spatial and Geographic objects for PostgreSQL.
  • PG_Themis - Postgres binding as extension for crypto library Themis, providing various security services on PgSQL's side.
  • zomboDB1k 72 - Extension that enables efficient full-text searching via the use of indexes backed by Elasticsearch.
  • pgMemento90 13 - Provides an audit trail for your data inside a PostgreSQL database using triggers and server-side functions written in PL/pgSQL.
  • Timescale - Open-source time-series database fully compatible with Postgres, distributed as extension
  • pgTAP - Database testing framework for Postgres
  • HypoPG79 4 - HypoPG provides hypothetical/virtual indexes feature.

Optimization

  • PgHero4k 215 - PostgreSQL insights made easy.
  • pgtune531 32 - PostgreSQL configuration wizard.
  • pgtune73 4 - Online version of PostgreSQL configuration wizard.
  • pgconfig.org32 7 - PostgreSQL Online Configuration Tool (also based on pgtune).
  • PoWA - PostgreSQL Workload Analyzer gathers performance stats and provides real-time charts and graphs to help monitor and tune your PostgreSQL servers.

Utilities

  • apgdiff - Compares two database dump files and creates output with DDL statements that can be used to update old database schema to new one.
  • ERAlchemy301 21 - ERAlchemy generates Entity Relation (ER) diagram from databases.
  • mysql-postgresql-converter445 138 - Lanyrd's MySQL to PostgreSQL conversion script.
  • ora2pg - Perl module to export an Oracle database schema to a PostgreSQL compatible schema.
  • pg_activity618 79 - top like application for PostgreSQL server activity monitoring.
  • pg-formatter - A PostgreSQL SQL syntax beautifier (Node.js).
  • pganalyze - PostgreSQL Performance Monitoring (Commercial Software).
  • pgbadger1k 153 - Fast PostgreSQL Log Analyzer.
  • PgBouncer - Lightweight connection pooler for PostgreSQL.
  • pgCenter483 39 - Provides convenient interface to various statistics, management task, reloading services, viewing log files and canceling or terminating database backends.
  • pgclimb242 11 - Export data from PostgreSQL into different data formats.
  • pgfutter559 33 - Import CSV and JSON into PostgreSQL the easy way.
  • PGInsight - CLI tool to easily dig deep inside your PostgreSQL database.
  • pgloader1k 178 - Loads data into PostgreSQL using the COPY streaming protocol, and does so with separate threads for reading and writing data.
  • pgpool-II - Middleware that provides connection pooling, replication, load balancing and limiting exceeding connections.
  • pgsync357 21 - Tool to sync PostgreSQL data to your local machine.
  • PGXN client35 14 - Command line tool to interact with the PostgreSQL Extension Network
  • postgresql-metrics449 22 - Tool that extracts and provides metrics for your PostgreSQL database.
  • PostgREST11k 568 - Serves a fully RESTful API from any existing PostgreSQL database.
  • pREST135 16 - Serve a RESTful API from any PostgreSQL database (Golang)
  • PostGraphQL2k 141 - A GraphQL schema created by reflection over a PostgreSQL schema.
  • yoke1k 75 - PostgreSQL high-availability cluster with auto-failover and automated cluster recovery.
  • pglistend6 2 - A lightweight PostgresSQL LISTEN/NOTIFY daemon built on top of node-postgres.
  • ZSON - PostgreSQL extension for transparent JSONB compression
  • pg_bulkload - It's a high speed data loading utility for PostgreSQL.
  • pg_migrate36 4 - Manage PostgreSQL codebases and make VCS simple.
  • sqitch1k 122 - Tool for managing versioned schema deployment
  • pgmigrate250 22 - CLI tool to evolve schema migrations, developed by Yandex.
  • pgcmp2 0 - Tool to compare database schemas, with capability to accept some persistent differences

Language bindings

Tutorials

Blogs

Articles

Newsletters

  • Postgres Weekly - Weekly newsletter that contains articles, news, and repos relevant to PostgreSQL.

PaaS (PostgreSQL as a Service)

  • Aiven 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.
  • Amazon RDS for PostgreSQL - Amazon Relational Database Service (RDS) for PostgreSQL
  • Citus Cloud - Production grade scaled out PostgreSQL as a service enabling real-time workloads and sharding your multi-tenant apps.
  • Database Labs - Get a production-ready cloud PostgreSQL server in minutes, from $20 a month Backups, monitoring, patches, and 24/7 tech support all included.
  • ElephantSQL - 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.
  • Google Cloud SQL for PostgreSQL - Fully-managed database service that makes it easy to set up, maintain, manage, and administer your PostgreSQL relational databases on Google Cloud Platform. (Beta)
  • Heroku Postgres - Plans from free to huge, operated by PostgreSQL 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.

Docker images

  • citusdata/citus - Citus official images with citus extensions. Based on the official Postgres container.
  • mdillon/postgis - PostGIS 2.3 on Postgres 9. Based on the official Postgres container.
  • postgres - Official postgres container (from Docker)

Videos