Introducing Crunchy Data Warehouse: A next-generation Postgres-native data warehouse. Crunchy Data Warehouse Learn more

Posts about Production Postgres

  • Troubleshooting PostgreSQL Streaming Replication Synchronization

    Jonathan S. Katz

    Having replicas in a database environment can fulfill many goals: create a high-availability environment, load balance read-only queries across several nodes, have a read-only database to run analytical queries on, and more. PostgreSQL introduced streaming replication in PostgreSQL 9.0 almost 8 years ago to help facilitate satisfying the above requirements, and through the years, the community has added many features to continue to enhance the replication user experience. There are many diff...

    Read More
  • Upgrading PostgreSQL from 9.4 to 10.3 with pglogical

    Douglas Hunley

    I recently helped a customer upgrade a PostgreSQL instance from 9.4 on RHEL to 10.x on Ubuntu. While it initially sounded daunting, the use of and some planning actually made it rather straightforward. While there’s nothing new or original in this post, I still felt compelled to write it up for anyone else that might find the info useful as an example in their own endeavors. is a logical replication system implemented entirely as a PostgreSQL extension. Fully integrated, it requires no trigger...

    Read More
  • Checking for PostgreSQL Bloat

    Keith Fiske

    I’ve been noticing that the query used in v1.x of my pg_bloat_check.py script (obtained from the check_postgres.pl module) was not always accurate and was often not reporting on bloat that I knew for a fact was there (Ex: I just deleted over 300 million rows, vacuumed & analyzed the table and still no bloat? Sure it could happen, but highly unlikely). So I continued looking around and discovered the pgstattuple contrib module that comes with PostgreSQL. After discussing it with several of...

    Read More
  • pgAudit: Auditing Database Operations Part 2

    Jason O'Donnell

    In the last blog post , pgAudit was configured to audit entire classes of statements (session auditing). Session auditing works great, but it can generate a lot of logs and not every administrator needs all that information. In this blog post pgAudit will be configured to use an auditing role to watch only specific objects. This guide assumes pgAudit has already been installed on the target DB server. For more instructions on installing pgAudit, see the official documentation here . pgAudit au...

    Read More
  • pgAudit: Auditing Database Operations Part 1

    Jason O'Donnell

    The PostgreSQL Audit extension (pgaudit) provides detailed session and/or object audit logging via the standard PostgreSQL logging facility. Basic statement logging can be provided by the standard logging facility in PostgreSQL. Out of the box logging provided by PostgreSQL is acceptable for monitoring and other usages but does not provide the level of detail generally required for an audit. pgAudit enhances PostgreSQL's logging abilities by allowing administrators to audit specific classes of o...

    Read More
  • pgBackRest - Reliable PostgreSQL Backup & Restore

    David Steele

    In our ongoing series of blog posts designed to help you better run, manage, and support PostgreSQL, today we have a post discussing pgBackRest, a powerful open source tool for managing backups and restores of PostgreSQL databases... pgBackRest aims to be a simple, reliable backup and restore system that can seamlessly scale up to the largest databases and workloads. Instead of relying on traditional backup tools like tar and rsync, pgBackRest implements all backup features internally and uses...

    Read More