Pigsty Blog Articles

Posts in 2021
  • PG Replica Identity Explained

    March 03, 2021 in PostgreSQL

    PG Replica Identity Explained

    Replica identity is important - it determines the success or failure of logical replication

    Replica identity is important - it determines the success or failure of logical replication

  • Pigsty v0.4: PG13 and Better Docs

    March 01, 2021 in Pigsty

    Pigsty v0.4: PG13 and Better Docs

    Pigsty v0.4 ships PG13 support, a Grafana 7.3 refresh, and a cleaned-up docs site for the second public beta.

    Pigsty v0.4 ships PG13 support, a Grafana 7.3 refresh, and a cleaned-up docs site for the second public beta.

  • A Methodology for Diagnosing PostgreSQL Slow Queries

    February 23, 2021 in PostgreSQL

    A Methodology for Diagnosing PostgreSQL Slow Queries

    Slow queries are the sworn enemy of OLTP databases. Here’s how to identify, analyze, and fix them using metrics (Pigsty dashboards), pg_stat_statements, and logs.

    Slow queries are the sworn enemy of OLTP databases. Here’s how to identify, analyze, and fix them using metrics (Pigsty dashboards), pg_stat_statements, and logs.

  • Incident-Report: Patroni Failure Due to Time Travel

    February 22, 2021 in PostgreSQL

    Incident-Report: Patroni Failure Due to Time Travel

    Machine restarted due to failure, NTP service corrected PG time after PG startup, causing Patroni to fail to start.

    Machine restarted due to failure, NTP service corrected PG time after PG startup, causing Patroni to fail to start.

  • Online Primary Key Column Type Change

    January 15, 2021 in PostgreSQL

    Online Primary Key Column Type Change

    How to change column types online, such as upgrading from INT to BIGINT?

    How to change column types online, such as upgrading from INT to BIGINT?

Posts in 2020
  • Pigsty v0.3: First Public Beta

    December 14, 2020 in Pigsty

    Pigsty v0.3: First Public Beta

    Pigsty v0.3.0, the first public beta, lands with eight battle-tested dashboards and an offline bundle.

    Pigsty v0.3.0, the first public beta, lands with eight battle-tested dashboards and an offline bundle.

  • 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

    Understanding the golden monitoring metrics in PostgreSQL

  • 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.

    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.

  • 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**.

    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**.

  • 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

    How to modify PostgreSQL column types online? A general approach