Skip to content

WorthPosting

  • Home
  • About

Tag: PostgreSQL

Cat Links Software Engineering

MVCC and VACUUM in PostgreSQL: Dead Tuples, Autovacuum Tuning, and What PG18 Changed

Posted on September 10, 2026September 11, 2026 teliaz

Every UPDATE in PostgreSQL is secretly an INSERT-plus-a-tombstone. The old row version stays on disk, fully readable to any transaction

Continue readingMVCC and VACUUM in PostgreSQL: Dead Tuples, Autovacuum Tuning, and What PG18 Changed

Cat Links Software Engineering

The Transactional Outbox Pattern: Reliable Events Without Distributed Transactions

Posted on September 8, 2026 teliaz

Solve the dual-write problem with one extra table and SKIP LOCKED: a working Go implementation of the transactional outbox, plus the delivery-semantics gotchas that bite in production. … Continue readingThe Transactional Outbox Pattern: Reliable Events Without Distributed Transactions

Cat Links Software Engineering

Cursor-Based Pagination Done Right: Keyset Queries, Opaque Cursors, and the Pitfalls That Bite

Posted on September 6, 2026 teliaz

Every API that returns a list eventually has to answer the same question: how do you hand out a million

Continue readingCursor-Based Pagination Done Right: Keyset Queries, Opaque Cursors, and the Pitfalls That Bite

Cat Links Software Engineering

Reading EXPLAIN ANALYZE: Why Postgres Ignores Your Index

Posted on September 5, 2026 teliaz

Every slow query investigation eventually reaches the same moment: you run EXPLAIN ANALYZE, and the plan makes no sense. Postgres

Continue readingReading EXPLAIN ANALYZE: Why Postgres Ignores Your Index

Cat Links Software Engineering

Zero-Downtime Database Migrations: Expand-Contract, Backfills, and Locks

Posted on September 3, 2026 teliaz

Every schema migration tool will happily tell you how to change a table. Almost none of them will tell you

Continue readingZero-Downtime Database Migrations: Expand-Contract, Backfills, and Locks

Cat Links Software Engineering

Database Connection Pooling: PgBouncer, Pool Sizing, and the Math Behind Both

Posted on September 2, 2026September 3, 2026 teliaz

Every PostgreSQL connection is a process on the server. Not a thread, not an entry in a table — a

Continue readingDatabase Connection Pooling: PgBouncer, Pool Sizing, and the Math Behind Both

Cat Links Software Engineering

PostgreSQL vs MySQL in 2026: A Practitioner’s Comparison

Posted on August 25, 2026August 26, 2026 teliaz

PostgreSQL versus MySQL is one of the oldest rivalries in software, and like most old rivalries it is mostly narrated

Continue readingPostgreSQL vs MySQL in 2026: A Practitioner’s Comparison

Cat Links Software Engineering

SQL Window Functions in PostgreSQL: Running Totals, Rankings, and the End of Self-Joins

Posted on August 17, 2026 teliaz

Every reporting query has a moment where GROUP BY stops being enough. You need the aggregate and the row it

Continue readingSQL Window Functions in PostgreSQL: Running Totals, Rankings, and the End of Self-Joins

Cat Links Software Engineering

PostgreSQL Connection Pooling: PgBouncer Modes, Pitfalls, and Production Config

Posted on August 7, 2026August 8, 2026 teliaz

PostgreSQL connections are expensive. Each backend process consumes roughly 10 MB of resident memory, holds a socket, and runs a

Continue readingPostgreSQL Connection Pooling: PgBouncer Modes, Pitfalls, and Production Config

Cat Links Software Engineering

Pagination at Scale: Choosing Between Offset, Keyset, and Cursor Strategies

Posted on August 5, 2026August 6, 2026 teliaz

Pagination is one of those API design decisions that seems trivial until your dataset grows. Return everything at once and

Continue readingPagination at Scale: Choosing Between Offset, Keyset, and Cursor Strategies

Posts navigation

Older posts
Newer posts
  • Home
  • About
Copyright © 2026 WorthPosting | Signify by WEN Themes
Scroll Up