Pigsty Blog Articles

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

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

  • 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

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

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

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

  • CDC Change Data Capture Mechanisms

    June 12, 2019 in PostgreSQL

    CDC Change Data Capture Mechanisms

    Change Data Capture is an interesting ETL alternative solution.

    Change Data Capture is an interesting ETL alternative solution.

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

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

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

    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.

  • PostgreSQL Common Replication Topology Plans

    March 29, 2019 in PostgreSQL

    PostgreSQL Common Replication Topology Plans

    Replication is one of the core issues in system architecture.

    Replication is one of the core issues in system architecture.

  • Warm Standby: Using pg_receivewal

    March 02, 2019 in PostgreSQL

    Warm Standby: Using pg_receivewal

    There are various backup strategies. Physical backups can usually be divided into four types.

    There are various backup strategies. Physical backups can usually be divided into four types.

  • Is running postgres in docker a good idea?

    January 13, 2019 in Database

    Is running postgres in docker a good idea?

    Thou shalt not run a prod database inside a container

    Thou shalt not run a prod database inside a container

Posts in 2018
  • Understanding Time - Leap Years, Leap Seconds, Time and Time Zones

    December 11, 2018 in Database

    Understanding Time - Leap Years, Leap Seconds, Time and Time Zones

    A proper understanding of time is very helpful for correctly handling time-related issues in work and life. For example, time representation and processing in computers, as well as time handling in databases and programming languages.

    A proper understanding of time is very helpful for correctly handling time-related issues in work and life. For example, time representation and processing in computers, as well as time handling in databases and programming languages.