Pigsty Blog Articles

Posts in 2020
  • Golden Monitoring Metrics: Errors, Latency, Throughput, Saturation

    November 06, 2020 in PostgreSQL

    Golden Monitoring Metrics: Errors, Latency, Throughput, Saturation

    Understanding the golden monitoring metrics in PostgreSQL

    Read more

    Understanding the golden monitoring metrics in PostgreSQL

    Read more

  • Database Cluster Management Concepts and Entity Naming Conventions

    June 03, 2020 in PostgreSQL

    Database Cluster Management Concepts and Entity Naming Conventions

    Concepts and their naming are very important. Naming style reflects an engineer's understanding of system architecture. Poorly defined concepts lead to communication confusion, while carelessly set names create unexpected additional burden. Therefore, they need careful design.

    Read more

    Concepts and their naming are very important. Naming style reflects an engineer's understanding of system architecture. Poorly defined concepts lead to communication confusion, while carelessly set names create unexpected additional burden. Therefore, they need careful design.

    Read more

  • PostgreSQL's KPI

    May 29, 2020 in PostgreSQL

    PostgreSQL's KPI

    Managing databases is similar to managing people - both need KPIs (Key Performance Indicators). So what are database KPIs? This article introduces a way to measure PostgreSQL load: using a single horizontally comparable metric that is basically independent of workload type and machine type, called **PG Load**.

    Read more

    Managing databases is similar to managing people - both need KPIs (Key Performance Indicators). So what are database KPIs? This article introduces a way to measure PostgreSQL load: using a single horizontally comparable metric that is basically independent of workload type and machine type, called **PG Load**.

    Read more

  • Online PostgreSQL Column Type Migration

    January 30, 2020 in PostgreSQL

    Online PostgreSQL Column Type Migration

    How to modify PostgreSQL column types online? A general approach

    Read more

    How to modify PostgreSQL column types online? A general approach

    Read more

Posts in 2019
  • Transaction Isolation Level Considerations

    November 12, 2019 in PostgreSQL

    Transaction Isolation Level Considerations

    PostgreSQL actually has only two transaction isolation levels: **Read Committed** and **Serializable**

    Read more

    PostgreSQL actually has only two transaction isolation levels: **Read Committed** and **Serializable**

    Read more

  • Frontend-Backend Communication Wire Protocol

    November 12, 2019 in PostgreSQL

    Frontend-Backend Communication Wire Protocol

    Understanding the TCP protocol used for communication between PostgreSQL server and client, and printing messages using Go

    Read more

    Understanding the TCP protocol used for communication between PostgreSQL server and client, and printing messages using Go

    Read more

  • Incident: PostgreSQL Extension Installation Causes Connection Failure

    June 13, 2019 in PostgreSQL

    Incident: PostgreSQL Extension Installation Causes Connection Failure

    Today encountered an interesting case where a customer reported database connection issues caused by extensions.

    Read more

    Today encountered an interesting case where a customer reported database connection issues caused by extensions.

    Read more

  • CDC Change Data Capture Mechanisms

    June 12, 2019 in PostgreSQL

    CDC Change Data Capture Mechanisms

    Change Data Capture is an interesting ETL alternative solution.

    Read more

    Change Data Capture is an interesting ETL alternative solution.

    Read more

  • Locks in PostgreSQL

    June 11, 2019 in PostgreSQL

    Locks in PostgreSQL

    Snapshot isolation does most of the heavy lifting in PG, but locks still matter. Here’s a practical guide to table locks, row locks, intention locks, and `pg_locks`.

    Read more

    Snapshot isolation does most of the heavy lifting in PG, but locks still matter. Here’s a practical guide to table locks, row locks, intention locks, and `pg_locks`.

    Read more

  • O(n2) Complexity of GIN Search

    April 12, 2019 in PostgreSQL

    O(n2) Complexity of GIN Search

    When GIN indexes are used to search with very long keyword lists, performance degrades significantly. This article explains why GIN index keyword search has O(n^2) time complexity.

    Read more

    When GIN indexes are used to search with very long keyword lists, performance degrades significantly. This article explains why GIN index keyword search has O(n^2) time complexity.

    Read more