A curated list of awesome PostgreSQL software, libraries, tools and resources, forked from dhamaniasad/awesome-postgres
High-Availability
- BDR – BiDirectional Replication – a multimaster replication system for PostgreSQL
- Patroni – Template for PostgreSQL HA with ZooKeeper or etcd.
- Stolon – PostgreSQL HA based on Consul or etcd, with Kubernetes integration.
- pglookout – Replication monitoring and failover daemon.
- repmgr – 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.
- PAF – PostgreSQL Automatic Failover High-Availibility for Postgres, based on Pacemaker and Corosync.
- Governer – Runners to orchestrate a high-availability PostgreSQL.
- pg_auto_failover – Postgres extension and service for automated failover and high-availability.
Backups
- Barman – Backup and Recovery Manager for PostgreSQL by 2ndQuadrant.
- OmniPITR – Advanced WAL File Management Tools for PostgreSQL.
- pg_probackup – 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.
- pghoard – Backup and restore tool for cloud object stores (AWS S3, Azure, Google Cloud, OpenStack Swift).
- wal-e – Simple Continuous Archiving for PostgreSQL to S3, Azure, or Swift by Heroku.
GUI
- Adminer – Full-featured database management tool written in PHP.
- 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.
- 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.
- pgweb – Web-based PostgreSQL database browser written in Go.
- phpPgAdmin – The Premier Web Based Administration Tool for PostgreSQL.
- Postbird – 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).
- Warp – macOS desktop tool for by-example querying and data transfer from/to PostgreSQL (Commercial Software).
- HeidiSQL – HeidiSQL is a useful and reliable tool designed for web developers using the popular MySQL server, Microsoft SQL databases and PostgreSQL.
- PostgreSQL Management Tool VS Code Extension – PostgreSQL extension for vscode providing explorer, highlighting, diagnostics, and intellisense by Borvik
- PostgreSQL VS Code Extension by Microsoft – PostgreSQL extension for VSCODE by Microsoft
Distributions and Server
- Postgres.app – The Easiest Way to Get Started with PostgreSQL on macOS.
- Postgresql Installers – Downloadable binaries tested to run on Centos 6+, Ubuntu 12.04+, OSX 10.9+, Windows 7+ and Windows Server 2008+.
- Postgresql Installers – Download the installer certified by EnterpriseDB for all supported PostgreSQL versions.
- Postgres-XL – Scalable Open Source PostgreSQL-based Database Cluster.
- Citus – Scalable PostgreSQL cluster for real-time workloads.
- Greenplum Database – The World’s First Open Source Massively Parallel Data Warehouse.
- PipelineDB – The Streaming SQL Database.
- BigSQL – Postgresql by BigSQL. The most complete and developer-friendly distribution of the world’s most advanced open source database.
CLI
- pgcli – Postgres CLI with autocompletion and syntax highlighting
- psql – The built-in PostgreSQL CLI client
- psql2csv – Run a query in psql and output the result as CSV
Monitoring
- check_pgactivity – check_pgactivity is designed to monitor PostgreSQL clusters from Nagios. It offers many options to measure and monitor useful performance metrics.
- Check_postgres – Nagios check_postgres plugin for checking status of PostgreSQL databases.
- libzbxpgsql – Comprehensive PostgreSQL monitoring module for Zabbix.
- mamonsu – PostgreSQL Monitoring agent for zabbix. Also it can be used as report, tune and cli.
- Pome – Pome stands for PostgreSQL Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track of the health of your database.
- pg_view – Open-source command-line tool that shows global system stats, per-partition information, memory stats and other information.
- pgbench – Run a benchmark test on PostgreSQL.
- zabbix – Zabbix Template for PostgreSQL Agent 2
- pg_bloat_check – Provides a bloat report for PostgreSQL tables and/or indexes
Extensions
- cstore_fdw – Columnar store for analytics with PostgreSQL.
- cyanaudit – Cyan Audit provides in-database logging of all DML activity on a column-by-column basis.
- pglogical – Extension that provides logical streaming replication.
- pg_partman – Partition management extension for PostgreSQL.
- pg_paxos – Basic implementation of Paxos and Paxos-based table replication for a cluster of PostgreSQL nodes.
- pg_shard – Extension to scale out real-time reads and writes.deprecated
- PGStrom – Extension to offload CPU intensive workloads to GPU.
- pgxn PostgreSQL Extension Network – central distribution point for many open-source PostgreSQL extensions
- plpgsql_check – 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.
- zomboDB – Extension that enables efficient full-text searching via the use of indexes backed by Elasticsearch.
- pgpyml – (WIP) Use machine learning models written in Python inside PostgreSQL.
Migration Tools
- sqlserver2pgsql – Migration tool to convert a Microsoft SQL Server Database into a PostgreSQL database, as automatically as possible.
- db2topg – Automated tool for DB2 migration to PostgreSQL, ala ora2pg.
- pgtsql – Extension that provides a PostgreSQL procedural language that implements the Transact-SQL language.
- ora2pg – Moves Oracle and MySQL database to PostgreSQL.
- pgloader – Migration Tool to PostgreSQ from MySQL, SQLite, MS SQL Server®.
Optimization
- PgHero – PostgreSQL insights made easy.
- pgtune – PostgreSQL configuration wizard.
- pgconfig.org – 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.
- Dalibo Explain Visualizer – This service lets you analyze, visualize and share Postgres Query Plans. It will compute and highlight the most important information to make them easier to understand.
- Tatiyants Explain Visualizer – Postgres Explain Visualizer (dev) is designed to make EXPLAIN output easier to grok. It creates a graphical representation of the plan.
- Depez Explain Visualizer – PostgreSQL’s explain analyze made readable
- AwesomeExplain – AwesomeExplain provides the same APM level of query analysis under your development and test Rails environments.
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.
- ERAlchemy – ERAlchemy generates Entity Relation (ER) diagram from databases.
- mysql-postgresql-converter – Lanyrd’s MySQL to PostgreSQL conversion script.
- ora2pg – Perl module to export an Oracle database schema to a PostgreSQL compatible schema.
- pg_activity – top like application for PostgreSQL server activity monitoring.
- pganalyze – PostgreSQL Performance Monitoring (Commercial Software).
- pgbadger – Fast PostgreSQL Log Analyzer.
- PgBouncer – Lightweight connection pooler for PostgreSQL.
- pgCenter – Provides convenient interface to various statistics, management task, reloading services, viewing log files and canceling or terminating database backends.
- pgclimb – Export data from PostgreSQL into different data formats.
- pgfutter – Import CSV and JSON into PostgreSQL the easy way.
- PGInsight – CLI tool to easily dig deep inside your PostgreSQL database.
- pgloader – 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.
- pgsync – Tool to sync PostgreSQL data to your local machine.
- PGXN client – Command line tool to interact with the PostgreSQL Extension Network
- postgresql-metrics – Tool that extracts and provides metrics for your PostgreSQL database.
- PostgREST – Serves a fully RESTful API from any existing PostgreSQL database.
- yoke – PostgreSQL high-availability cluster with auto-failover and automated cluster recovery.
- pglistend – A lightweight PostgresSQL
LISTEN
/NOTIFY
daemon built on top ofnode-postgres
. - ZSON – PostgreSQL extension for transparent JSONB compression
- pg_chameleon – MySQL to PostgreSQL replication system.
- pg-ldap-sync – Use LDAP permissions in PostgreSQL
- pgagroal – High-performance connection pool for PostgreSQL
- odyssey – Scalable PostgreSQL connection pooler
Language bindings
- Common Lisp: Postmodern
- Elixir: postgrex
- Go: pgx
- Java: PostgreSQL JDBC Driver
- Node: node-postgres, pg-promise
- Perl: DBD-Pg
- PHP: Pomm, pecl/pq
- Python: psycopg2
- Ruby: pg
- Rust: rust-postgresql
Tutorials
- The Internals of PostgreSQL – for database administrators and system developers
- Backup and recover a PostgreSQL DB using wal-e – Tutorial about setting up continuous archiving in PostgreSQL using wal-e.
- PG Casts – Free weekly PostgreSQL screencasts by Hashrocket.
- Postgres Guide – Guide designed as an aid for beginners and experienced users to find specific tips and explore tools available within PostgreSQL.
- PostgreSQL Exercises – Site to make it easy to learn PostgreSQL by doing exercises.
- tutorialspoint PostgreSQL tutorial – Very extensive collection of tutorials on PostgreSQL
- PostgreSQL configuration for humans
- Katacoda Scenarios – Several hands-on scenarios
- PgPedia – An encyclopedia (work-in-progress) of things PostgreSQL-related. And some hacks.
Blogs
- Planet PostgreSQL – Blog aggregation service for PostgreSQL.
- Andrew Dunstan’s PostgreSQL and Technical blog
- Bruce Momjian’s PostgreSQL blog
- Craig Kerstiens PostgreSQL posts – Set of posts on PostgreSQL cool features, tips and tricks.
- Database Soup – Josh Berkus’ blog.
- Michael Paquier’s blog
- Robert Haas’ blog
- select * from depesz; – Hubert Lubaczewski’s blog.
- Revolution Systems – We are performance tuners, Django and PostgreSQL experts, infrastructure and scaling architects.
- OnGress | Blog – As the name says, the core of our business is Postgres databases.
- Severalnines Database Blog
- Percona Blog
- Cybertec Blog – Get the newest tricks and useful tips about the world of PostgreSQL and Data Science! Our authors and technicians share their knowledge to keep you going with your data.
- PostgresPro Blog – Postgrespro PostgreSQL company Blog
- PostgresPro Blog in Habr.com – Postgrespro PostgreSQL company Blog in habr.com
- Crunchydata Blog – Crunchydata company Blog
- Data Egret Data Egret News & Blog
Articles
- What PostgreSQL has over other open source SQL databases: Part I
- Debugging PostgreSQL performance, the hard way
- SQL Server vs MySQL vs PostgreSQL Delete Performance Comparison
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.
- 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.
- 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.
- Azure Postgres – Azure Database for PostgreSQL Amazon RDS for PostgreSQL Google Cloud SQL