...
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…
Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.