Awesome Postgres
      
    
    
      
    
    
      
        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)
    
    
      :elephant: 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
    
      - 
        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.
      
 
      - 
        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.
      
 
      - 
        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.
      
 
      - 
        pg_back - pg_back is a
        simple backup script
      
 
      - 
        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.
      
 
      - 
        wal-g - The successor of
        WAL-E rewritten in Go. Currently supports cloud object storage services
        by AWS (S3), Google Cloud (GCS), Azure, as well as OpenStack Swift,
        MinIO, and file system storages. Supports block-level incremental
        backups, offloading backup tasks to a standby server, provides
        parallelization and throttling options. In addition to Postgres, WAL-G
        can be used for MySQL and MongoDB databases.
      
 
      - 
        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.
      
 
      - 
        Beekeeper Studio - Free and
        open source SQL client with a modern UI and great Postgres support.
        Cross platform.
      
 
      - 
        DataGrip - IDE with
        advanced tool sets and good cross-platform experience (Commercial
        Software).
      
 
      - 
        Datazenit - Web-based PostgreSQL
        GUI (Commercial Software).
      
 
      - 
        DataRow - Cross-platform SQL
        Client for Amazon Redshift: Simple, Effortless, Extensible.
      
 
      - 
        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.
      
 
      - 
        Numeracy - Fast SQL editor with
        charts and dashboards for PostgreSQL (Commercial Software).
      
 
      - 
        OmniDB - Open Source Collaborative
        Environment For Database Management
      
 
      - 
        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.
      
 
      - 
        PostgresCompare -
        Cross-platform database comparison and deployment tool (Commercial
        Software).
      
 
      - 
        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).
      
 
      - 
        temBoard - Web-based
        PostgreSQL GUI and monitoring.
      
 
      - 
        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.Lite
        - Minimum set of Windows binaries of the PostgreSQL database. Also made
        available through NuGet.
      
 
    
    CLI
    
      - 
        pgcli - Postgres CLI with
        autocompletion and syntax highlighting
      
 
      - 
        pgsh - Branch your
        PostgreSQL Database like Git
      
 
      - 
        psql
        - The built-in PostgreSQL CLI client
      
 
      - 
        psql2csv - Run a
        query in psql and output the result as CSV
      
 
      - 
        nancy - The Nancy CLI
        is a unified way to manage automated database experiments either in
        clouds or on-premise
      
 
      - 
        schemaspy -
        SchemaSpy is a JAVA JDBC-compliant tool for generating your database to
        HTML documentation, including Entity Relationship diagrams
      
 
    
    Server
    
      - 
        Postgres-XL - Scalable Open
        Source PostgreSQL-based Database Cluster.
      
 
      - 
        AgensGraph - Powerful graph database
        based on the PostgreSQL.
      
 
      - 
        Greenplum Database -
        Open source fork of PostgreSQL for large data volumes.
      
 
    
    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.
      
 
      - 
        Instrumental
        - Real-time performance monitoring, including
        pre-made graphs
        for ease of setup (Commercial Software)
      
 
      - 
        libzbxpgsql -
        Comprehensive PostgreSQL monitoring module for Zabbix.
      
 
      - 
        PMM - Percona Monitoring
        and Management (PMM) is a Free and Open Source platform for monitoring
        and managing PostgreSQL, MySQL, and MongoDB.
      
 
      - 
        Pome - Pome stands for
        PostgreSQL Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track
        of the health of your database.
      
 
      - 
        pgmetrics - pgmetrics is an
        open-source, zero-dependency, single-binary tool that can collect a lot
        of information and statistics from a running PostgreSQL server and
        display it in easy-to-read text format or export it as JSON and CSV for
        scripting.
      
 
      - 
        pg_view - Open-source
        command-line tool that shows global system stats, per-partition
        information, memory stats and other information.
      
 
      - 
        pgwatch2 -
        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.
      
 
      - 
        okmeter.io - Commercial SaaS
        agent-based monitoring with a very detailed PostgreSQL plugin. It
        automatically gathers 100s of stats, displays dashboards on every aspect
        and sends alerts when something goes wrong (Commercial Software).
      
 
    
    Extensions
    
      - 
        Citus - Scalable
        PostgreSQL cluster for real-time workloads.
      
 
      - 
        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.
      
 
      - 
        pg_cron - Run
        periodic jobs in PostgreSQL.
      
 
      - 
        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.
      
 
      - 
        PGStrom -
        Extension to offload CPU intensive workloads to GPU.
      
 
      - 
        pgxn PostgreSQL Extension Network -
        central distribution point for many open-source PostgreSQL extensions
      
 
      - 
        PipelineDB
        - A PostgreSQL extension that runs SQL queries continuously on streams,
        incrementally storing results in tables.
      
 
      - 
        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.
      
 
      - 
        pgMemento -
        Provides an audit trail for your data inside a PostgreSQL database using
        triggers and server-side functions written in PL/pgSQL.
      
 
      - 
        TimescaleDB - Open-source
        time-series database fully compatible with Postgres, distributed as
        extension
      
 
      - 
        pgTAP - Database testing framework for
        Postgres
      
 
      - 
        HypoPG - HypoPG provides
        hypothetical/virtual indexes feature.
      
 
      - 
        pgRouting -
        pgRouting extends the PostGIS/PostgreSQL geospatial database to provide
        geospatial routing and other network analysis functionality.
      
 
    
    Optimization
    
      - 
        pg_flame - A
        flamegraph generator for query plans.
      
 
      - 
        PgHero - PostgreSQL
        insights made easy.
      
 
      - 
        pgMustard - A modern user
        interface for 
EXPLAIN, that also provides performance tips
        (Commercial Software).
       
      - 
        pgtune - PostgreSQL
        configuration wizard.
      
 
      - 
        pgtune - Online version
        of 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.
      
 
      - 
        pg_web_stats - Web UI
        to view pg_stat_statements.
      
 
      - 
        TimescaleDB Tune
        - a program for tuning a TimescaleDB database to perform its best based
        on the host’s resources such as memory and number of CPUs.
      
 
    
    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.
      
 
      - 
        Hasura GraphQL Engine
        - Blazing fast, instant realtime GraphQL APIs on Postgres with fine
        grained access control, also trigger webhooks on database events.
      
 
      - 
        ldap2pg - Synchronize
        roles and privileges from YML and LDAP.
      
 
      - 
        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.
      
 
      - 
        pg-formatter - A
        PostgreSQL SQL syntax beautifier (Node.js).
      
 
      - 
        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.
      
 
      - 
        pg_chameleon
        - Real time replica from MySQL to PostgreSQL with optional type override
        migration and migration capabilities.
      
 
      - 
        pgclimb -
        Export data from PostgreSQL into different data formats.
      
 
      - 
        pg_docs_bot
        - Browser extension to redirect PostgreSQL docs links to the current
        version.
      
 
      - 
        pgfutter -
        Import CSV and JSON into PostgreSQL the easy way.
      
 
      - 
        PGInsight - CLI tool to easily dig
        deep inside your PostgreSQL database.
      
 
      - 
        pg_insights -
        Convenient SQL for monitoring Postgres database health.
      
 
      - 
        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.
      
 
      - 
        pREST - Serve a RESTful API
        from any PostgreSQL database (Golang)
      
 
      - 
        PostGraphile -
        Instant GraphQL API or GraphQL schema for your PostgreSQL database
      
 
      - 
        yoke - PostgreSQL
        high-availability cluster with auto-failover and automated cluster
        recovery.
      
 
      - 
        pglistend - 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_migrate - Manage
        PostgreSQL codebases and make VCS simple.
      
 
      - 
        sqitch - Tool for
        managing versioned schema deployment
      
 
      - 
        pgmigrate - CLI tool
        to evolve schema migrations, developed by Yandex.
      
 
      - 
        pgcmp - Tool to compare
        database schemas, with capability to accept some persistent differences
      
 
      - 
        pg-differ - Tool for
        easy initialization / updating of the structure of PostgreSQL tables,
        migration alternative (Node.js).
      
 
      - 
        sqlcheck -
        Automatically detects common SQL anti-patterns. Such anti-patterns often
        slow down queries. Addressing them will, therefore, help accelerate
        queries.
      
 
      - 
        postgres-checkup
        - a new-generation diagnostics tool that allows users to collect deep
        analysis of the health of a Postgres database.
      
 
      - 
        ScaffoldHub.io - Generate fullstack
        PostgreSQL apps with Angular, Vue or React (Commercial Software).
      
 
    
    Language bindings
    
    
      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
      
 
      - 
        Azure Database for PostgreSQL
        - Azure Database for PostgreSQL provides fully managed, enterprise-ready
        community PostgreSQL database as a service. It provides builtin HA,
        elastic scaling and native integration with Azure ecosystem.
      
 
      - 
        Citus Cloud -
        Production grade scaled out PostgreSQL as a service enabling real-time
        workloads and sharding your multi-tenant apps.
      
 
      - 
        Compose -
        PostgreSQL as a service in AWS, Google Cloud Platform, and IBM Cloud;
        plans range from $17.5/month for 1GB storage and scale at $12/GB beyond
        that. Free trial for 30 days available.
      
 
      - 
        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.
      
 
      - 
        DigitalOcean Managed Databases
        - Fully managed PostgreSQL databases. No free plan. Starting at $15/mo.
        Daily backups with point-in-time recovery. Standby nodes with
        auto-failover.
      
 
      - 
        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.
      
 
      - 
        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.
      
 
      - 
        Scaleway Managed Database
        - Fully managed PostgreSQL databases with HA, scaling, and automated
        backups, hosted in the EU. Starting at €10 per month.
      
 
    
    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)
      
 
    
    Resources
    Tutorials
    
    Blogs
    
    Articles
    
    Documentation
    
      - 
        Wiki - user
        documentation, how-tos, and tips ‘n’ tricks
      
 
    
    Newsletters
    
      - 
        Postgres Weekly - Weekly
        newsletter that contains articles, news, and repos relevant to
        PostgreSQL.
      
 
    
    Videos
    
    
    
      - 
        Mailing lists - Official
        mailing lists for Postgres for support, outreach, and more. One of the
        primary channels of communication in the Postgres community.
      
 
      - 
        Reddit - A reddit
        community for PostgreSQL users with over 12000 users
      
 
      - 
        Slack - Slack
        channel for Postgres with over 7000 users
      
 
      - 
        Telegram - Several groups for PostgreSQL in different langauges:
        Russian >4200 people,
        Brazilian Portuguese >2300
        people, Indonesian ~1000
        people, English >750 people
      
 
      - 
        #postgresql on Freenode
        - The most popular IRC channel about Postgres on Freenode with over 1000
        users