December 17, 2025

The Road to Deploy a Production-Grade, Highly Available System with Open-Source Tools

Everyone wants high availability, and that’s completely understandable. When an app goes down, users get frustrated, business stops, and pressure builds. But here’s the challenge:…
December 8, 2025

PostgreSQL, MongoDB, and what “cannot scale” really means

Last week, I read The Register’s coverage of MongoDB CEO Chirantan “CJ” Desai telling analysts that a “super-high growth AI company … switched from PostgreSQL…
November 17, 2025

PostgreSQL License: Free to Use, Enterprise-Ready, and Cost-Efficient in Production

Do you need a PostgreSQL license for critical production use? Short answer: No. The open-source PostgreSQL database is free to download, use, modify, and distribute.…
November 14, 2025

Scaling Up Wasn’t the Plan — Until It Was the Only Plan

If you have ever generated a complex report in Odoo only to watch the loading spinner for minutes, you are not alone. One of our…
November 5, 2025

NUMA, Linux, and PostgreSQL before libnuma Support

This entry in this series covers the general interaction of PostgreSQL and Linux on NUMA systems. This topic is complex and so there are cases…
October 31, 2025

What Are “Dirty Pages” in PostgreSQL?

PostgreSQL stores data in fixed‑size blocks (pages), normally 8 KB. When a client updates or inserts data, PostgreSQL does not immediately write those changes to disk.…
October 23, 2025

Introduction to NUMA

PostgreSQL and NUMA, part 1 of 4 This series covers the specifics of running PostgreSQL on large systems with many processors. My experience is that…
October 17, 2025

Configuring Linux Huge Pages for PostgreSQL

Huge pages are a Linux kernel feature that allocates larger memory pages (typically 2 MB or 1 GB instead of the normal 4 KB). PostgreSQL’s…
October 15, 2025

Understanding Disaster Recovery in PostgreSQL

System outages, hardware failures, or accidental data loss can strike without warning. What determines whether operations resume smoothly or grind to a halt is the…
October 10, 2025

Don’t Skip ANALYZE: A Real-World PostgreSQL Story

Recently, we worked on a production PostgreSQL database where a customer reported that a specific SELECT query was performing extremely slowly. The issue was critical…
September 26, 2025

Query optimizations in Odoo versions 17–19 for faster PostgreSQL performance

We get a lot of queries about performance optimization for PostgreSQL from organizations using Odoo. The platform has been built entirely on PostgreSQL, and Odoo’s…
September 22, 2025

Understanding PostgreSQL WAL and optimizing it with a dedicated disk

If you manage a PostgreSQL database with heavy write activity, one of the most important components to understand is the Write-Ahead Log (WAL). WAL is…
September 9, 2025

3 Features I am Looking Forward to in PostgreSQL 18

It is that time of the year again. The first release candidate of PostgreSQL 18 is out, and things look promising. We should expect General…
September 4, 2025

Best Practices for Achieving High Availability in PostgreSQL with Patroni and Pgpool

I recently completed a training session for one of our customer on best practices for achieving HA clusters with Patroni and Pgpool in PostgreSQL. During…
September 1, 2025

The Hidden Bottleneck in PostgreSQL Restores and its Solution

In July 2025, during the PG19-1 CommitFest, I reviewed a patch targeting the lack of parallelism when adding foreign keys in pg_restore. Around the same…
August 22, 2025

Cold, Warm, and Hot Standby in PostgreSQL: Key Differences

When working with customers, a common question we get is: “Which standby type is best for our HA needs?” Before answering, we ensure they fully…
August 20, 2025

PostgreSQL Database SLAs: Why Hidden Issues Often Break Customer Commitments

SLAs feel reassuring when signed—but their substance lies in what happens behind the scenes. Often, the most damaging breaches don’t stem from cloud outages or…
August 8, 2025

Achieving High Availability in PostgreSQL: From 90% to 99.999%

When you are running mission-critical applications, like online banking, healthcare systems, or global e-commerce platforms, every second of downtime can cost millions and damage your…
August 7, 2025

When PostgreSQL performance slows down, here is where to look first

PostgreSQL is built to perform. However, as workloads increase and systems evolve, even the most robust setups can begin to show signs of strain. Whether…
July 25, 2025

PostgreSQL 16 Installation on RHEL/CentOS – Step-by-Step Guide

Why Databases? Why PostgreSQL? In today's digital world, data is at the heart of every application, from social media platforms to banking systems, from e-commerce…
July 24, 2025

Post Webinar Blog | Designing Highly Available Postgres for Continuous Operations

Boriss Mejías conducted an in-depth session on “Designing Highly Available Postgres for Continuous Operations” on Wednesday, January 22, 2025, at 3 PM GMT. This webinar…
July 22, 2025

DBA as a Service for PostgreSQL: Expert-Led Support for Databases That Power Your Business

Let us start with some simple math. 24/7 coverage means 168 hours a week. A full-time engineer typically works a 40-hour week. That means you…
July 17, 2025

A Guide to Deploying Production-Grade Highly Available Systems in PostgreSQL

In today’s digital landscape, downtime isn’t just inconvenient, it’s costly. No matter what business you are running, an e-commerce site, a SaaS platform, or critical…
July 11, 2025

PostgreSQL Index Corruption on Windows

PostgreSQL index corruption on Windows can silently bring your systems to a halt. A leading video analytics SaaS platform, built for real-time alerting and operational…
July 10, 2025

Replication Types and Modes in PostgreSQL

Data is a key part of any mission-critical application. Losing it can lead to serious issues, such as financial loss or harm to a business’s…
July 3, 2025

Disaster Recovery Guide with pgbackrest

Recently, we worked with a client who was manually backing up their 800GB PostgreSQL database using pg_dump, which was growing rapidly and had backups stored…
July 1, 2025

From 99.9% to 99.99%: Building PostgreSQL Resilience into Your Product Architecture

Most teams building production applications understand that “uptime” matters. I am writing this blog to demonstrate how much difference an extra 0.09% makes. At 99.9%…
June 27, 2025

Choosing the Right Barman Backup Type and Mode for Your PostgreSQL Highly Available Cluster

When running a PostgreSQL database in a High Availability (HA) cluster, it’s easy to assume that having multiple nodes means your data is safe. But…
June 24, 2025

The Odoo Performance Fix You’ve Been Looking For

When your business depends on Odoo CRM and starts to slow down, operations suffer. That is precisely what happened to a fast-growing delivery company that…
June 20, 2025

Which PostgreSQL HA Solution Fits Your Needs: Pgpool or Patroni?

When designing a highly available PostgreSQL cluster, two popular tools often come into the conversation: Pgpool-II and Patroni. Both are widely used in production environments,…
June 10, 2025

Checklist: Is Your PostgreSQL Deployment Production-Grade?

One of the things I admire most about PostgreSQL is its ease of getting started. I have seen many developers and teams pick it up,…
May 30, 2025

Understanding Split-Brain Scenarios in Highly Available PostgreSQL Clusters

High Availability (HA) refers to a system design approach that ensures a service remains accessible even in the event of hardware or software failures. In…
May 27, 2025

How to Upgrade Major PostgreSQL Versions: A Practical Production Guide

PostgreSQL versions follow a well-defined five-year support lifecycle. Each major release receives bug fixes, security patches, and minor updates for five years from its initial…
May 22, 2025

Best Practices for TimescaleDB Massive Delete Operations

Welcome to the second part of our TimescaleDB best practices series! In the first part, we explored how to perform massive backfill operations efficiently, sharing…
May 16, 2025

How to Safely Perform Backfill Operations in TimescaleDB

Backfilling data into a TimescaleDB hypertable in production can be very tricky, especially when automated processes like compression policies are involved. From past experience, we…
May 13, 2025

Step by Step Guide on Setting Up Physical Streaming Replication in PostgreSQL

Physical streaming replication in PostgreSQL allows you to maintain a live copy of your database on a standby server, which continuously receives updates from the…
May 9, 2025

Improving PostgreSQL Performance with Partitioning

My recommended methodology for performance improvement of PostgreSQL starts with query optimization. The second step is architectural improvements, part of which is the partitioning of…
April 15, 2025

Finding Bottlenecks and Avoiding Over-Optimization via Explain Plans

Performance optimization in a production database is important, but trying to over-optimize can make things more complicated without real improvements. In this post, I’ll share…
April 7, 2025

SELECT FOR UPDATE – Reduce Contention and Avoid Deadlocks to Improve Performance in PostgreSQL

Relational databases are at the heart of countless applications around the world, from high-traffic e-commerce websites to enterprise resource planning (ERP) systems and financial services.…
March 11, 2025

When HASH partitioning works better than RANGE

I have always been a fan of RANGE partitioning using a date/time value in PostgreSQL. This isn't always possible, however, and I recently came across…
February 18, 2025

Important PostgreSQL Parameters: Understanding Their Importance and Recommended Values

Have you ever experienced your database slowing down as the amount of data increases? If so, one important factor to consider is tuning PostgreSQL parameters…
February 3, 2025

A Guide to Restoring a PostgreSQL Database from Disaster Using Azure Flexible Server

Backups are crucial for any mission-critical application as they protect against unforeseen disasters. Regular backups help minimize the Recovery Point Objective (RPO), allowing systems to…
January 23, 2025

Post Webinar Blog | High Availability in Postgres: Your Guide to 5 Nines and Zero Worries

Semab Tariq conducted a comprehensive session on “High Availability in Postgres: Your Guide to 5 Nines and Zero Worries” on Wednesday, January 22, 2025, at…
January 23, 2025

Leveraging autovacuum in PostgreSQL to optimize performance and reduce costs

Autovacuum is one of PostgreSQL's most powerful features, designed to maintain database health and optimize performance by automating routine maintenance tasks. However, improper configuration can…
January 15, 2025

Cut Cloud Costs with Smarter PostgreSQL CPU Core Allocation

Cloud costs can quickly spiral out of control if resources are not optimized. One of the most significant contributors to these costs is CPU core…
January 9, 2025

Idle Transactions Cause Table Bloat? Wait, What?

Yup, you read it right. Idle transactions can cause massive table bloat that the vacuum process may not be able to address. Bloat causes degradation…
December 13, 2024

VACUUM FULL in PostgreSQL – What you need to be mindful of

If you have worked with PostgreSQL for a while, you have probably come across the command VACUUM FULL. At first glance, it might seem like…
December 10, 2024

Understanding Wait Events in PostgreSQL

As databases grow in size and complexity, performance issues inevitably arise. Whether it is slow query execution, lock contention, or disk I/O bottlenecks, identifying the…
December 4, 2024

3 Essential PostgreSQL Priorities for 2025

As IT budgets tighten and workloads increase, 2025 is the year to focus on maximizing PostgreSQL efficiency, security, and reliability. Whether you are running fully-managed…
November 27, 2024

Operator Classes: Fine-Tuning Index Performance in PostgreSQL

Efficient data retrieval is crucial in any production environment, especially for databases handling heavy traffic and large datasets. PostgreSQL’s operator classes are a powerful but…
November 21, 2024

Transitioning from Oracle to PostgreSQL: Roles & Privileges

When moving from Oracle to PostgreSQL, one of the key differences lies in how each database handles roles and privileges. Oracle's privilege model is deeply…
November 19, 2024

What Happens Behind the Scenes When You Modify a Row in PostgreSQL?

Data is often called the new gold, and databases are where we store and manage this precious resource as it constantly changes and grows. At…
November 14, 2024

Transitioning from Oracle to PostgreSQL: Concurrency Control

Transitioning from Oracle to PostgreSQL can be a transformative experience for database administrators because of the subtle differences between the two technologies. Understanding how the…
November 12, 2024

Transitioning from Oracle to PostgreSQL: Indexes

For database experts well-versed in Oracle, moving to PostgreSQL opens up new indexing methods that differ significantly in terms of structure, management, and optimization. While…
November 8, 2024

Scenarios That Trigger Autovacuum in PostgreSQL

PostgreSQL is widely known for its Multi-Version Concurrency Control (MVCC) model, which allows multiple transactions to occur simultaneously without interfering with each other.  However, one…
November 6, 2024

Transitioning from Oracle to PostgreSQL: Partitioning

As databases grow, managing large tables becomes more challenging. Table partitioning is a tried-and-tested approach that helps break down large tables into smaller, more manageable…
October 31, 2024

Offline PostgreSQL Installation on RHEL 9: Solving the No Internet Challenge

PostgreSQL is one of the most loved databases, especially by developers, for its simplicity, easy configurations, and massive community support. It's an open-source powerhouse known…
October 28, 2024

Transitioning from Oracle to PostgreSQL: PL/SQL vs PL/pgSQL

Structured Query Language (SQL) is the standard language for managing and manipulating relational databases. It serves as the core mechanism for interacting with databases, enabling…
October 17, 2024

Implementing Bi-Directional Replication in PostgreSQL

In today's fast-paced digital world, ensuring that your data is always up-to-date and accessible is crucial. For businesses using PostgreSQL, replication is a key feature…
October 10, 2024

Transform PostgreSQL into a Columnar Database Using Citus

Columnar databases are transforming the way we handle large datasets by storing data in columns rather than rows. This approach enhances performance, especially for analytical…
October 4, 2024

Transitioning from Oracle to PostgreSQL: Tablespaces

Tablespaces play an important role in database management systems, as they determine where and how database objects like tables and indexes are stored. Both Oracle…
September 26, 2024

Using pg_upgrade to Upgrading Your PostgreSQL Cluster on Windows

Upgrading your PostgreSQL cluster is an important task to keep your database running smoothly and securely. With each new release, PostgreSQL introduces performance improvements, security…
September 19, 2024

Transitioning from Oracle to PostgreSQL: Understanding the Concept of Schema

As businesses increasingly move toward open-source technologies, many Oracle Database professionals find themselves needing to work with PostgreSQL, one of the most popular open-source relational…
September 12, 2024

Optimizing PostgreSQL with Composite and Partial Indexes: A Quick Comparison

Indexes are crucial for accelerating database queries, and enhancing the performance of your PostgreSQL applications. However, not all indexes function the same way. Composite and…
September 10, 2024

Understanding Factors Impacting Data Replication Latency in PostgreSQL Across Geographically Distributed Nodes

In an increasingly globalized world, companies and organizations are leveraging distributed systems to handle massive amounts of data across geographically separated locations. Whether it is…
September 3, 2024

Deploying Your First PostgreSQL Clusters on Kubernetes with Cloud Native Postgres

CloudNativePG is an open-source operator designed to manage PostgreSQL workloads on any supported Kubernetes cluster running in private, public, hybrid, or multi-cloud environments. CloudNativePG adheres…
August 29, 2024

A Beginner’s Guide to Sharding PostgreSQL with Citus

PostgreSQL is a powerful and open-source relational database system known for its reliability, flexibility, and advanced features. It handles complex queries, ensures data integrity, and…
August 27, 2024

PostgreSQL is a viable alternative to Oracle – here is why…

Why pay $100,000 for something you can achieve in $5,000? That’s the main question. Oracle is a long-standing giant in the DBMS world, offering a…
August 22, 2024

Post Webinar Blog: Boosting PostgreSQL Performance: Tools and Techniques for Optimization

Semab Tariq conducted a detailed session on "Boosting PostgreSQL Performance: Tools and Techniques for Optimization" where he talked about the essential strategies and tools you…
August 20, 2024

PostgreSQL Internals Part 4: A Beginner’s Guide to Understanding WAL in PostgreSQL

In this blog, we'll dive into the concept of Write-Ahead Logging (WAL) in PostgreSQL, discussing its importance and examining the internal structure of WAL files.
August 12, 2024

file_fdw: Directly Query Flat Files in PostgreSQL Without Importing

The file_fdw (Foreign Data Wrapper) is a PostgreSQL extension that lets you access data stored in flat files, like CSV files, as if they were…
August 8, 2024

Locks in PostgreSQL – Concurrency Benefits and Performance Challenges

PostgreSQL provides robust support for concurrency control through various locking mechanisms. Locks are critical in managing access to data and ensuring consistency and integrity in…
July 29, 2024

Ensuring Safe Data Modifications in PostgreSQL – Part 2

Concurrency control in databases ensures that multiple transactions can occur simultaneously without causing data errors. It's essential because, without it, two people updating the same...
July 26, 2024

Enhancing PostgreSQL Performance Monitoring: A Comprehensive Guide to pg_stat_statements

PostgreSQL has a rich set of features designed to handle complex queries efficiently. Much like any database system, however, its performance can degrade over time…
July 22, 2024

A Follow up on Key PostgreSQL Configuration Parameters for Enhanced Performance – Part 2

In a previous blog post, we configured an EC2 instance and installed PostgreSQL on it. After the initial setup, we ran pgbench to measure the…
July 10, 2024

Guide to Auditing and Monitoring Access in PostgreSQL

In the data-driven world of today, maintaining the security and integrity of your database is paramount. Auditing and monitoring access to your database are critical…
July 8, 2024

Access Controls in PostgreSQL

Access control is a fundamental aspect of database security, ensuring that only authorized users can perform specific actions on the data. Effective access control helps…
July 3, 2024

Key PostgreSQL Configuration Parameters for Enhanced Performance

Learn how to configure key parameters to boost Transactions Per Second (TPS) and improve overall database performance.
July 1, 2024

Ensuring Safe Data Modifications in PostgreSQL with SELECT FOR UPDATE

Learn how to use PostgreSQL's SELECT FOR UPDATE clause to ensure safe data modifications and prevent data corruption...
June 12, 2024

Exploring the Power of Partitioning in PostgreSQL

Learn about PostgreSQL partitioning, its types, and benefits for optimized database performance.
June 8, 2024

Performance impact of using ORDER BY with LIMIT in PostgreSQL

Learn how the combination of ORDER BY and LIMIT clauses in PostgreSQL affects query performance, and discover optimization techniques to maintain efficient database performance and…
June 4, 2024

Reliable Backups in PostgreSQL – Another Critical Requirement for Financial Organizations

Learn how reliable backups in PostgreSQL can help financial organizations maintain data integrity, comply with regulations, and ensure business continuity.
May 30, 2024

Setting Up a High Availability 3-Node PostgreSQL Cluster with Patroni on Ubuntu 24.04

Learn how to set up a high-availability 3-node PostgreSQL cluster with Patroni on Ubuntu 24.04, ensuring your database is always online and resilient to failures.
May 29, 2024

Protecting Personally Identifiable Information in PostgreSQL: A Critical Requirement for Financial Organizations

Protect personally identifiable information (PII) in PostgreSQL databases, a critical requirement for financial organizations.
May 28, 2024

Monitoring Replication Lag with PEM in Multi-Master Cluster

Learn how to monitor replication lag in a PostgreSQL multi-master cluster using Postgres Enterprise Manager (PEM).
May 23, 2024

Deploying PostgreSQL Multi-Master Multi-Zone Architecture on AWS

Learn how to deploy a highly available and scalable PostgreSQL multi-master multi-zone architecture on AWS, ensuring fault tolerance and geographically distributed write capabilities for your…
May 17, 2024

Understanding Synchronous and Asynchronous Replication in PostgreSQL – What is Best for You?

Learn about synchronous and asynchronous replication in PostgreSQL, including how they work and when to use each.
May 15, 2024

Removing Bloat with pg_repack Extension

PostgreSQL's pg_repack extension offers a solution to database maintenance challenges by optimizing table storage without disrupting operations. It tackles issues like bloat and fragmentation efficiently.…
May 10, 2024

Understanding Multi-Master Architecture in PostgreSQL: Benefits and Trade-offs

Dive into the world of Multi-Master Architecture in PostgreSQL. Learn about its benefits, trade-offs, and how it revolutionizes database management.
May 9, 2024

Understanding PostgreSQL Fill Factor: Benefits, Drawbacks, and Best Practices

Learn how to optimize fill factor to boost database performance, minimize fragmentation, and balance storage needs.
May 8, 2024

Understanding Patroni Failovers

Learn about Patroni, the popular high availability system for PostgreSQL, and how it works to ensure seamless failovers and efficient database management.
April 30, 2024

Logging Basics for PostgreSQL

Explore foundational parameters for maximizing the utility of PostgreSQL logs.
April 25, 2024

7 considerations for PCI DSS compliance in PostgreSQL

Learn how to ensure PCI DSS compliance in your PostgreSQL database with these 7 crucial considerations.
April 18, 2024

PostgreSQL Internals Part 3: Understanding Processes in PostgreSQL

We explore PostgreSQL Internals in detail - its processes, architecture, the different types of processes available, and their respective responsibilities.
April 8, 2024

PostgreSQL Roles and Privileges Simplified

Learn to manage roles and privileges in PostgreSQL, covering databases, schemas, and other objects level privileges.
April 8, 2024

Pitfalls of using SELECT *

Understand how SELECT * can be bad for database performance...
April 4, 2024

Fireside Chat Blog: Oracle to PostgreSQL Migration

Umair Shahid and Jan Karremans got together for an insightful session on why Oracle to PostgreSQL migration is the most suitable choice for mission-critical infrastructures.
April 1, 2024

Peak Performance – pgvector vs. PostgreSQL ARRAY for mass spectrometry databases

The native way to handle vectors in PostgreSQL are ARRAYs. They are first class citizens of PostgreSQL and come with lots of functionality out of…
March 28, 2024

Build HNSW 80% Faster with Parallel Index Build in pgvector

Discover the latest in pgvector 0.6: Parallel Index Building for HNSW. Learn how this major update speeds up index creation in Postgres.
March 22, 2024

PostgreSQL Internals Part 2: Understanding Page Structure

Explore intricacies of PostgreSQL's internal page structure and how pages are organized, their default size, and more.
March 21, 2024

Transitioning from Heroku PostgreSQL to AWS EC2: Step-by-Step Guide

The blog describes all the steps required to safely migrate your Heroku PostgreSQL database to self managed PostgreSQL on AWS EC2 instance using logshipping method.
March 16, 2024

PostgreSQL Internals Part 1: Understanding database cluster, database and tables

Learn about database clusters, databases, and tables to optimize performance and unleash the full potential of PostgreSQL for your projects
March 14, 2024

Understanding the PostgreSQL Query Planner to Improve Query Performance

Learn how the PostgreSQL query planner estimates costs and leverages configuration parameters for efficient data retrieval and increased database performance.
March 13, 2024

Post Webinar Blog: Understanding NUMA policies and their impact on PostgreSQL performance

On Wednesday, 6 March 2024, we hosted an insightful session led by our PostgreSQL Principal Consultant, Chris Travers, on Understanding NUMA policies and their impact…
March 7, 2024

Recovery Hack: Restoring Tablespace Using Barman on Windows

We uncover manual hacks to successfully recover tablespaces with Barman, navigating through encountered errors.
February 27, 2024

The default value of fdw_tuple_cost was updated to 0.2. What does that mean?

This blog post explores the recent change to the fdw_tuple_cost parameter in PostgreSQL, examining the problem it addresses and the reasoning behind the new default…
February 26, 2024

Understand Indexes in pgvector

Explore how pgvector's indexes work, choose the right one for your needs, and find the best option for your critical data.
February 22, 2024

PostgreSQL Backup and Recovery Management using Barman

Barman stands as a widely used open-source tool dedicated to managing backup and disaster recovery operations for PostgreSQL databases.
February 16, 2024

Selective Column Replication in PostgreSQL

Discover selective column replication in PostgreSQL - a powerful feature for replicating specific columns across databases.
February 14, 2024

PostgreSQL Tuning and DBtune

Learn how DBtune simplifies PostgreSQL parameter tuning and helps in achieving peak performance based on workload.
February 13, 2024

Enhancing PostgreSQL Performance by Scaling Horizontally using PL/Proxy

Discover how PL/Proxy enhances PostgreSQL performance through efficient horizontal scaling. Learn the pros, cons, and best practices for optimizing your database systems.
January 19, 2024

Understanding Hash aggregates and Hash Joins in PostgreSQL

Discover the reasons behind a planner's selection of Hash aggregate and Hash joins for data processing and understand their workings through this blog.
January 10, 2024

Logical Replication in PostgreSQL

Understand the components involved in logical replication, how it differentiates from streaming replication and the factors to consider.
January 5, 2024

The Next 20 Years of PostgreSQL: Embracing Better Persuasion

Simon Riggs, a luminary in the PostgreSQL community and a strategic advisor to Stormatics, recently addressed the future trajectory of PostgreSQL recently addressed a keynote at…
January 3, 2024

AI Meets PostgreSQL – The pgvector Revolution in Text Search

Explore how pgvector works to find words with similar meanings, enhancing the intelligence of databases for a more advanced user experience.
December 27, 2023

Checkpoints, Background Writer and how to monitor it using pg_stat_bgwriter

Understand Checkpoints and how they differ from background writer in PostgreSQL. Learn how to monitor them using pg_stat_bgwriter view.
December 26, 2023

Distributed Data in PostgreSQL with postgres_fdw: A Guide to Enhanced Performance and Flexibility

postgres_fdw allows seamless access into external PostgreSQL databases as if it were local to your current database...
December 19, 2023

An Introduction to EDB’s Transparent Data Encryption

We take a detailed look at EDB’s solution and also provide a few notes about what has been proposed for community Postgres...
December 14, 2023

Understanding Triggers In PostgreSQL

Think of triggers as the silent guardians behind the scenes, ensuring data integrity, enforcing business rules, and automating repetitive tasks.
December 6, 2023

Understand Table Statistics Using pg_stat_all_tables

Learn how pg_stat_all_tables provides statistics on tables usage and how to utilize it for better performance.
December 1, 2023

PostgreSQL with Python – A Developer’s Guide

This guide will delve into the seamless integration of PostgreSQL and Python, covering optimal connection methods and demonstrating how to execute CRUD operations (Create, Read,…
November 24, 2023

How To Set Up and Run a PostgreSQL Database Using Docker

Learn how to set up Postgres using Docker: this tutorial will help you install a PostgreSQL database using a Docker container.
November 23, 2023

Unlocking Secure Connections: A Guide to PostgreSQL Authentication Methods

Our in-depth guide takes a look at the most used authentication methods in PostgreSQL, along with unraveling its critical role in securing valuable information.
November 17, 2023

An Introduction to Indexing and Partitioning in PostgreSQL

How to optimize your data storage and retrieval strategies. Two common techniques for improving database performance and manageability are indexing and partitioning.
November 15, 2023

Database Concurrency: Two phase Locking (2PL) to MVCC – Part 2

Discover how Multi-Version Concurrency Control (MVCC) works in Postgresql with its isolation level. Learn internal concepts regarding MVCC implementation in psotgresql and how concurrent transaction…
November 10, 2023

Database Concurrency: Two phase Locking (2PL) to MVCC – Part 1

Discover how Two-Phase Locking (2PL) and Multi-Version Concurrency Control (MVCC) ensures data integrity and transaction concurrency.
November 9, 2023

Efficient Time-Series Data Handling: Exploring TimescaleDB in PostgreSQL

Explore how integration of TimescaleDB into your PostgreSQL environment is a critical move towards efficient time-series data handling.
November 2, 2023

Performance tuning in PostgreSQL using shared_buffers

Explore the sweet spot for shared_buffers allocation and ensure your PostgreSQL system runs at its peak efficiency.
October 26, 2023

Understand Explain Plans in PostgreSQL

Learn how Explain plans can empower you to understand and optimize PostgreSQL queries.
October 20, 2023

PostgreSQL performance tuning using work_mem

Enhance PostgreSQL query performance of your database with our guide on optimizing work_mem.
October 12, 2023

Boosting Database Performance: The Power of Connection Pooling with PgBouncer

In the database landscape, connection pooling is a must to ensure everything runs smoothly. It’s like having a savvy assistant that saves you money by…
October 4, 2023

Vacuum in PostgreSQL

Learn how vacuum maintains your database peak performance, prevents data bloat and keeps your transactions running smoothly. Explore Transaction Wraparound issue in PostgreSQL, types of…
September 28, 2023

How to set up a PostgreSQL cluster using pg_cirrus on AWS

This blog outlines how to set up a 3-node HA PostgreSQL cluster on AWS EC2 Instances using pg_cirrus, an automated tool for this purpose...
September 20, 2023

Incremental Sort in PostgreSQL: A Developer’s Guide

By following best practices and query optimization techniques, you can leverage incremental sort in PostgreSQL and enhance query performance.
September 14, 2023

Improving UPDATE query performance using Heap-Only Tuples (HOT)

Heap-Only Tuples allow a significant boost in UPDATE query performance allowing businesses to scale their PostgreSQL for critical data.
September 6, 2023

Exploring Postgres Performance: A Deep Dive into pg_stat_statements

Unlock performance insights of your queries using pg_stat_statements in PostgreSQL.
August 30, 2023

How to execute Transactions in PostgreSQL?

This blog focuses on the importance of transactions and how to use them in PostgreSQL.
August 22, 2023

Optimizing PostgreSQL Cluster Performance, Part 1 – Load Balancing

Free up your primary node for efficient write operations by balancing the load of read operations to your standby nodes.
August 10, 2023

How to Execute Queries from SQL files in PostgreSQL using psql

This blog is about what SQL files are and how they can be used to execute queries on PostgreSQL databases using psql...
July 26, 2023

The Beginner’s Guide to PostgreSQL Database Security Hardening

PostgreSQL offers robust security features and ensures that a user’s database is protected from all angles.
July 19, 2023

Understanding the CREATEROLE Privilege in PostgreSQL

This blog is about the CREATEROLE privilege and the new enhancements in PostgreSQL 16, part of the fine access controls for database security
July 4, 2023

PostgreSQL Physical Backups Using pg_basebackup: A Comprehensive Guide

Best practices for PostgreSQL backup & recovery, explanation of RTO & RPO, and FAQs related to physical database backups and their business case.
June 27, 2023

A look at PostgreSQL’s journey over 5 years in Stack Overflow’s Developer Survey

A look at 5 year trends of database popularity, focusing on PostgreSQL, based on Stack Overflow's annual developer survey
June 3, 2023

Setting Up a PostgreSQL 3-Node HA Cluster using pg_cirrus

pg_cirrus is designed to help you deploy a pre-configured highly available 3-node PostgreSQL cluster with ease...
May 31, 2023

Data inconsistency in highly available PostgreSQL clusters

If nodes in a database cluster get out of sync, the inconsistency can cause data corruption. This blog describes what to watch out for.
May 22, 2023

PostgreSQL Backup Best Practices

Unforeseen disasters can strike at any moment, posing a significant risk to your critical data. Follow best practices for PostgreSQL backups to ensure that you're…
May 15, 2023

Install PostgreSQL using Ansible on remote servers

A guide to automating PostgreSQL deployment on multiple servers using Ansible...
May 12, 2023

Disruptions caused by false alarms in highly available PostgreSQL clusters

False alarms can be a significant problem in highly available clusters of PostgreSQL. They can cause unnecessary downtime and disruptions that can impact the performance…
May 5, 2023

pg_stat_statement – Benefits and Shortcomings [PGSQL Phriday #008]

pg_stat_statement is the essential extension that provides valuable insights into the query performance of a PostgreSQL database.
May 2, 2023

Understanding PostgreSQL Parallel Query

PostgreSQL has a powerful parallel execution engine. How can you maximize its potential?
April 26, 2023

PostgreSQL Memory Management

Proper configuration of memory allocation parameters in PostgreSQL can significantly improve query performance.
April 20, 2023

Challenges with Network Latency in Highly Available PostgreSQL Clusters

Network latency between nodes of a highly available PostgreSQL cluster can cause service disruptions and data loss.
April 12, 2023

Split-Brain in PostgreSQL Clusters – Causes, Prevention, and Resolution

Split brain is when a highly available system, such as a PostgreSQL cluster, becomes fragmented due to a network partition.
April 6, 2023

Triggers in PostgreSQL: Love them or hate them? [PGSQL Phriday #007]

Triggers are a powerful tool in PostgreSQL. However, they can be a double-edged sword, causing confusion and performance issues if not used carefully.
April 3, 2023

High availability made easy: A 100,000 ft view of auto failover in PostgreSQL

Critical data needs a resilient database that businesses can rely on. This write-up takes an abstract view of High Availability and Auto-Failover in PostgreSQL.
May 5, 2015

Big Data and PostgreSQL – Scaling out by partitioning tables

Big Data is a buzz word doing the rounds nowadays, and the tool people generally associate with Big Data is Hadoop. While it is true…
April 27, 2015

HOWTO use JSONB, the binary formatted JSONs in PostgreSQL

A previous blog I wrote on JSON functionality in PostgreSQL went wildly popular and it got me thinking about writing a follow-up HOWTO about JSONB.…
April 19, 2015

HOWTO handle key-value data in PostgreSQL – the HSTORE contrib

I previously blogged about NoSQL support in PostgreSQL and then later wrote a tutorial on using JSON data type. Today, I will be talking about…
April 12, 2015

HOWTO create reports in Tableau with PostgreSQL database

For 2015, once again, Gartner’s Magic Quadrant for Business Intelligence and Analytics Platforms ranks Tableau pretty much at the top. How powerful would it
April 7, 2015

HOWTO use JSON functionality in PostgreSQL

In a previous post, I talked about the excitement that surrounds NoSQL support in PostgreSQL. Today, I will dive a little deeper into the technical…
March 30, 2015

The difference between Analytics and Reporting

Businesses sometimes use these terms interchangeably … they are wrong. Reporting has been around for ages. Be it balance sheets projecting a company’s
March 21, 2015

NoSQL Support in PostgreSQL

Developers have been really excited about the addition of JSON support starting PostgreSQL v9.2. They feel they now have the flexibility to work with a…
March 16, 2015

What questions can BI help me answer?

Business Intelligence (BI) is such a buzzword, everyone wants to use it. But do people really understand what it means and what kind of tangible…
February 16, 2015

Operational Data Store vs Data Warehouse vs Data Mart

These buzz words seem to be floating around quite a bit and tend to get thrown into every conversation around Business Intelligence. But what do…
February 2, 2015

Data Flow in a Typical BI Stack

A person unfamiliar with Business Intelligence may find it hard to visualize how data flows through a typical BI stack. This post is aimed towards…